作者yenbowl (4545)
看板C_and_CPP
标题[问题] Directshow播放视窗问题
时间Thu Feb 19 01:56:59 2009
目前我想要连续播放两段影片,第一段播完,播第二段
但是当我第一段结束之後 第二段播出来的视窗会另外再跳出新的来
想请问我该怎麽样让两段再同一视窗播放
以下是我的程式码,不知道还需要加什麽入什麽参数,才能达到目的,谢谢
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,IID_IGraphBuilder, (void **)&pGraphP);
pGraphP->QueryInterface(IID_IMediaControl, (void **)&pMediaControlP);
pGraphP->QueryInterface(IID_IVideoWindow, (void **)&pVidWinP);
pGraphP->QueryInterface(IID_IMediaEvent, (void **)&pEventP);
pGraphP->QueryInterface(IID_IMediaEventEx, (void **)&pEventExP);
pEventExP->SetNotifyWindow((OAHWND)g_hwnd, WM_GRAPHNOTIFY, 0);
pVidWinP->put_Owner(OAHWND(g_hwnd));
pVidWinP->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS);
pVidWinP->SetWindowPosition(0, 0,680 , 576);
pGraphP->RenderFile(L"winter.avi", NULL);
pMediaControlP->Run();
pEventExP->GetEvent(&evCode, ¶m1, ¶m2, 0);
While(evCode==EC_COMPLETE)
{
pMediaControlP->Stop();
pMediaControlP->Release();
pGraphP->Release();
pGraphP->RenderFile(L"2.avi", NULL);
pMediaControlP->Run();
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.22.18.83
1F:推 lbl88:有办法拿到source filter的handle然後再改变file吗 02/19 14:17
2F:→ yenbowl:我查查看MSDN 谢罗 02/19 20:51