Directory Contents Search << >>
Die Funktion ipOgg2Wav konvertiert einen IStream * Datenstrom im Ogg Vorbis-Format in einen IStream * Datenstrom im WAVE Format.
BOOL WINAPI ipOgg2Wav ( |
||
IStream *oggstream, |
||
IStream *wavstream, |
||
unsigned reserved); |
oggstream |
Dateihandle einer Eingabedatei im OGG Vorbis Datenformat. |
|
wavstream |
Dateihandle einer Ausgabedatei, welche die dekomprimierten Daten im WAVE-Format erhalten soll. |
|
reserved |
unsigned |
Reserviert zur zukünftigen definition. Anwendungen müssen 0 angeben. |
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 ist die Grundlage der Funktion PlayOggSound. |
||
Die WAV-Datei wird mit einem einzigen data-Subchunk erstellt. Sie hat daher einen Header von 36 Bytes Länge für den RIFF-Chunk, den fmt Subchunk und den Header des data Subchunks. Es werden immer 16 Bit je Abtastwert verwendet, 1 oder 2 Kanäle mit variabler Abtastrate. |
||
Die Implementierung dieser Funktion basiert auf der freien tremor-Bibliothek. Sie ist für Dateigrößen bis 2 GByte geeignet, erreicht aber nicht die höchstmögliche Klangqualität. Die Lizenzbedingungen der tremor-Bibliothek finden Sie in der davinci4_license.html. |
||
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 |
||
IStream *oggstream; |
||
IStream *wavstream; |
||
if (SUCCEEDED(ipCreateStreamOnFile("gut.ogg", STGM_READ|STGM_SHARE_DENY_WRITE, &oggstream)) |
||
{ |
||
if (SUCCEEDED(ipCreateStreamOnFile("gut.wav", STGM_WRITE|STGM_CREATE, &wavstream)) |
||
{ |
||
ipOgg2Wav(oggstream, wavstream, 0); |
||
wavstream->Release(); |
||
} |
||
oggstream->Release(); |
||
} |
||
Siehe auch |
||
→ Funktion PlayOggSound |
||