从一开始,我点击“开始”开始录制,但freeBlocks
功能会导致internal error
。
有时会发生此错误,但有时则不会。
如何解决?
void QWindowsAudioInput::freeBlocks(WAVEHDR* blockArray)
{
WAVEHDR* blocks = blockArray;
int count = buffer_size/period_size;
for(int i = 0; i < count; i++) {
waveInUnprepareHeader(hWaveIn,blocks, sizeof(WAVEHDR));
blocks++;//The error stuck in the line
}
HeapFree(GetProcessHeap(), 0, blockArray);
}
在程序中录制代码:
QIODevice* m_audioInputIODevice=NULL;
int readNum = m_audioInputIODevice->read(sAudio,BUFSIZE);