110,534
社区成员
发帖
与我相关
我的任务
分享
// 声音播放相关初始化函数
void init()
{
// pDirectSound8 初始化
// m_hWaveOut 初始化
}
// 每秒数据的播放
void play(void* data, int dataSize)
{
BOOL isok = FALSE;
if(pDirectSound8) {
// 播放无异常 isok = TRUE;
} else if (m_hWaveOut) {
// 播放无异常 isok = TRUE;
}
if(!isok) {
// 播放异常开启timer延迟在1秒后触发,模拟播放1秒数据成功
SetTimer
}
}
// 定时器
static void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime)
{
// 关闭当前timer
KillTimer(hWnd, nTimerid);
// 再次初始化
init();
// 调用播放完成处理函数
OnWaveDone();
}