请问如何实现异步播放?谢谢!
程序中有这么几行:
if (SUCCEEDED(hr)) {
LONG levCode;
//把下面这行注释掉
hr = pME->WaitForCompletion(INFINITE, &levCode);
}
//把下面的几行放到析构函数里去,程序退出时才执行
pMC->Release();
pME->Release();
rdr->Release();
if (pFG) {
ULONG ulRelease = pFG->Release();
if (ulRelease != 0) {
printf("Filter graph count not 0! was %d", ulRelease);
}
}
CoUninitialize();
不能控制的原因就是hr = pME->WaitForCompletion(INFINITE, &levCode);产生的。所以把它注释掉就可以了,但那些COM接口也不能立即释放,要不能就不能连续播放了,等程序退出时再释放。