|
|
请问,我在写DirectSound程序的时候,当设置DSBPOSITIONNOTIFY.dwOffset的时候,我发现用i* BUFFERNOTIFYSIZE +BUFFERNOTIFYSIZE -1,没有任何问题,但如果用i* BUFFERNOTIFYSIZE,就会出现问题,会出现回声现象,不知道为什么?请高手解惑!
谢谢
代码如下:
//设置DirectSound通知 机制
g_event=CreateEvent( NULL, FALSE, FALSE, NULL );
for(int i =0; i< MAX_AUDIO_BUF;i++)
{
g_aPosNotify.dwOffset = i* BUFFERNOTIFYSIZE +BUFFERNOTIFYSIZE -1;
g_aPosNotify.hEventNotify = g_event;
}
if(FAILED(hr=g_pDSBuffer8->QueryInterface(IID_IDirectSoundNotify,(LPVOID*)&g_pDSNotify )))
return ;
g_pDSNotify->SetNotificationPositions(MAX_AUDIO_BUF,g_aPosNotify);
g_pDSNotify->Release(); |
|