作者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