waveOutWrite() - Hvorfor kan der kun afspilles 1 sekund lyd??
Jeg kan kun få afspillet 1 sekund af et array med lyd-data - selvom arrayet indeholder 15 sekunders lyd.Jeg bruger dette kode:
HWAVEOUT hWaveOut;
PBYTE pBuffer;
PWAVEHDR pWaveHdr;
WAVEFORMATEX waveformat;
waveformat.wFormatTag = WAVE_FORMAT_PCM;
waveformat.nChannels = 1;
waveformat.nSamplesPerSec = fs;
waveformat.nAvgBytesPerSec = fs;
waveformat.nBlockAlign = 1;
waveformat.wBitsPerSample = 8;
waveformat.cbSize = 0;
waveOutOpen(&hWaveOut, devId, &waveformat, (DWORD) hDoneEvent, 0, CALLBACK_EVENT);
soundData = (PBYTE)new PWAVEHDR[ soundDataSize ];
soundData = soundDataArray;
pWaveHdr->lpData = (char*)soundData;
pWaveHdr->dwBufferLength = soundSize;
pWaveHdr->dwBytesRecorded = 0;
pWaveHdr->dwUser = 0;
pWaveHdr->dwFlags = 0;
pWaveHdr->dwLoops = 0;
pWaveHdr->lpNext = 0;
pWaveHdr->reserved = 0;
waveOutPrepareHeader( hWaveOut, pWaveHdr, sizeof (WAVEHDR) );
waveOutWrite( hWaveOut, pWaveHdr, sizeof (WAVEHDR) );
HVAD gør jeg forkert ???