Directory Contents Search << >>


DaVinci 4: DaVinci Funktion PlayOggSound: Klang im Ogg Vorbis Format abspielen

Die Funktion PlayOggSound spielt einen Klang im Ogg Vorbis-Format ab. Sie Semantik lehnt sich an die Windows API Funktion PlaySound an.

BOOL WINAPI PlayOggSound (

LPCTSTR pszSound,

HMODULE hmod,

DWORD fdwSound);

pszSound

LPCTSTR

Name des Klanges. Dateiname einer Datei im Ogg Vortbis-Format, wenn in fdwSound das Bit SND_FILENAME gesetzt ist. Name einer Ressource im Modul hmod, wenn in fdwSound das Bit SND_RESOURCE gesetzt ist.

hmod

HMODULE

Wenn in fdwSound das Bit SND_RESOURCE gesetzt ist, gibt hmod an, aus welchem EXE oder DLL Modul die Ressource zu laden ist. Andernfalls gibt die Anwendung hier NULL an.

fdwSound

DWORD

Flagwerte SND_xxxx

Rückgabewert

Der Rückgabewert ist TRUE, wenn kein Fehler auftrat, FALSE wenn ein Fehler auftrat.

Anmerkungen

Ogg Vorbis-Dateien enthalten Klänge mit hoher Kompressionsrate, vergleichbar zu .mp3, aber das Format ist nicht mit Patenten belastet. Dadurch ist die Verwendung von Klängen in hoher Tonqualität möglich, ohne dass viel Speicherplatz belegt wird. Software für die Konvertierung von .wav-Dateien in das OGG Vorbis Format ist kostenlos verfügbar.

Diese Funktion basiert auf der Funktion ipOgg2Wav.

Die Anwendung kann in pszSound entweder den Namen einer Datei im Ogg Vorbis Format angeben und das Flag SND_FILENAME setzen. In diesem Fall werden die Daten aus der Datei dekomprimiert und abgespielt. Oder die Anwendung kann in pszSound den Namen einer OGG Ressource angeben, in hmod das Modul-Handle, das diese Ressource enthält und das Flag SND_RESOURCE setzen.

Wenn das Flag SND_ASYNC gesetzt ist, wird der Klang von einem Hintergrund-Thread asynchron abgespielt.

Solange der Klang abgespielt wird, wird Speicherplatz für den gesamten dekomprimierten Klang belegt. Die Funktion eignet sich daher nur zum Abspielen kurzer Klänge, nicht für längere Musikstücke.

Die Verwendung von Ressourcen auf der Basis von IDs (MAKEINTRESOURCE) ist möglich.

Die mitgelieferten Beispiel OGG-Dateien wurden von http://www.mirandea-music.com/ exklusiv für Herd Software lizensiert und sind nicht zur Weiterverteilung bestimmt.

Beispiel für SND_RESOURCE

In der Ressourcendatei example.rc Datei:

MYSOUND OGG "mysound.ogg

In der example.c-Datei:

PlayOggSound("MYSOUND", GetModuleHandle(NULL), SND_RESOURCE|SND_ASYNC);

Siehe auch

Funktion ipOgg2Wav

http://xiph.org/vorbis/

-


Valid HTML 4.01!