Windows Media Player spielt *.wave Datei nicht ab.
-
Hallo!
Hat jemand Erfahrung mit Wavedateien gemacht? Ich kriege es einfach nicht hin die Datei so zu schreiben, das es auch der Media Player öffnen kann. Ich nehme an, es liegt an den Headern? Bei der Programmierung der Header habe ich mich an diese Seite gehalten: http://www.sonicspot.com/guide/wavefiles.html#overview
Mit waveOutWrite kann ich die Dateien zwar abspielen, aber andere Programme wie der Windows Player, sollen das ja auch können.
Ideen?
MfG,
w.n.
-
[cppp]HANDLE hFile = CreateFile("sound.wav", GENERIC_WRITE|GENERIC_READ, FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, NULL);
DWORD cb;
// 44100Hz, mono, 16-bit
// size1 | format_len=16 | hier ist WAVEFORMATEX aber ohne cbSize | size2
WriteFile(hFile, "RIFF????WAVEfmt \x10\x00\x00\x00\x01\x00\x01\x00\x44\xac\x00\x00\x88\x58\x01\x00\x02\x00\x10\x00data????", 44, &cb, 0);WriteFile(hFile, pcm samples);
// finalize
DWORD rifflen = SetFilePointer(hFile, 0, NULL, FILE_CURRENT) - 8;
SetFilePointer(hFile, 4, NULL, FILE_BEGIN);
WriteFile(hFile, &rifflen, 4, &cb, 0); // size1
SetFilePointer(hFile, 40, NULL, FILE_BEGIN);
rifflen -= 36;
WriteFile(hFile, &rifflen, 4, &cb, 0); // size2
CloseHandle(hFile);[/cpp]
-
olda, zu viel 'o'. http://sapero.pastebin.com/m4ec1ca2b
-
-
coding n00b schrieb:
sapero schrieb:
olda, zu viel 'o'. http://sapero.pastebin.com/m4ec1ca2b
funzt net
tschtümmt, habs jezze mit meinem code hinbekommen.
musste "fmt " statt "fmt" schreiben.mfg