[問題] 有關Directshow讀取、播放影片
想用directshow讀取一段影片 在panel上播放
程式環境是Visual C++ 2005 的Windows forms
參考了一些範例 目前可以成功播放
CoInitialize(NULL);
IGraphBuilder *pGraph = NULL;
IMediaControl *pMediaControl = NULL;
IVideoWindow *pVidWin = NULL;
IMediaEvent *pEvent;
HWND g_hwnd;
// Create the filter graph manager.
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IVideoWindow, (void **)&pVidWin);
// Build the graph.
pGraph->RenderFile(L"summer_rain.avi", NULL);
//Set the video window.
pVidWin->put_Owner(OAHWND(this->panel3->Handle.ToInt64()));
pVidWin->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS);
RECT grc;
GetClientRect(g_hwnd, &grc);
pVidWin->SetWindowPosition(0, 0, 675, 540);
// Run the graph.
pMediaControl->Run()
不過目前碰到兩個問題,就是我希望可以連續播放兩段影片
當我第一段播放完時,接著播第二段
但是當我讀取第二段並且Run時,畫面會把第一段的影片截掉 並直接播第二段
想請問有什麼方法或指令可以判斷等到第一段播放完時,再接著播二段影片嗎?
另外是否有可以重複播放同一段的方法或指令?
想麻煩請各位幫我解答,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.18.83
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章