佚名通过本文主要向大家介绍了
难道用DirectSound播放WAV数据时应用程序必须在总最前端且是激活的?我想在最小化时也能出声等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 难道用Direct Sound播放WAV数据时应用程序必须在总最前端且是激活的?我想在最小化时也能出声
描述:
解决方案1:
描述:
我使用DSound写了个播放音频应用程序,最大的困惑就是程序必须总在最前端且必须是活动窗口,最小化或激活其它程序时,声音就出不来,但播放进度没停。MSDN上说在SetCooperativeLevel时提供的窗口句柄须是“the top-level application window handle”的,是这个造成的么?有其它的办法解决吗?我发现Direct Music 就没有这问题,但无法处理要播放的音频数据(如从网上边接收边播放)。愁死我了!
解决方案1:
dwFlags |= DSBCAPS_CTRLVOLUME | DSBCAPS_CTRLPAN | DSBCAPS_GLOBALFOCUS;
// Set up DSBUFFERDESC structure.
memset(&dsbdesc, 0, sizeof(DSBUFFERDESC)); // Zero it out.
dsbdesc.dwSize = sizeof(DSBUFFERDESC);
dsbdesc.dwFlags = dwFlags;
dsbdesc.dwBufferBytes = dwBufSize;
dsbdesc.lpwfxFormat = (LPWAVEFORMATEX)&pcmwf;
dwFlags 值的问题