[問題] 有關Directshow讀取、播放影片

看板C_and_CPP (C/C++)作者 (4545)時間16年前 (2009/02/01 15:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
想用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
文章代碼(AID): #19XKhwvv (C_and_CPP)
文章代碼(AID): #19XKhwvv (C_and_CPP)