1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #include <dshow.h> int main() { IDvdGraphBuilder *m_pIDvdGB; IGraphBuilder *m_pGraph; IMediaControl *m_pIMC; IDvdInfo2 *m_pIDvdI2; IDvdControl2 *m_pIDvdC2; CoInitialize(NULL); HRESULT hr; // DVD グラフ ビルダ オブジェクトのインスタンスを作成する。 hr = CoCreateInstance(CLSID_DvdGraphBuilder, NULL, CLSCTX_INPROC_SERVER, IID_IDvdGraphBuilder, ( LPVOID *)&m_pIDvdGB); // DVD フィルタ グラフを作成する。 AM_DVD_RENDERSTATUS buildStatus; hr = m_pIDvdGB->RenderDvdVideoVolume(NULL, AM_DVD_HWDEC_PREFER, &buildStatus); // DVD ナビゲータ インターフェイスへのポインタを取得する。 hr = m_pIDvdGB->GetDvdInterface(IID_IDvdInfo2, reinterpret_cast < void **>(&m_pIDvdI2)); hr = m_pIDvdGB->GetDvdInterface(IID_IDvdControl2, reinterpret_cast < void **>(&m_pIDvdC2)); // フィルタ グラフ マネージャへのポインタを取得する。 hr = m_pIDvdGB->GetFiltergraph(&m_pGraph); // フィルタ グラフを全体として制御するため、 // グラフ ポインタを使って IMediaControl へのポインタを取得する。 hr = m_pGraph->QueryInterface(IID_IMediaControl, ( LPVOID *)&m_pIMC); hr = m_pIMC->Run(); /* 指定されたタイトルの指定された時間から再生を開始する。ここから*/ DVD_HMSF_TIMECODE time ; time .bHours = 0; time .bMinutes = 0; time .bSeconds = 0; time .bFrames = 0; hr = m_pIDvdC2->PlayAtTimeInTitle(5, & time , DVD_CMD_FLAG_Block, NULL); //ok /* ここまで */ MessageBox(0, 0, L "OK" , 0); m_pIDvdI2->Release(); m_pIDvdC2->Release(); m_pIDvdGB->Release(); CoUninitialize(); return 0; } |
2013年6月14日金曜日
指定されたタイトルの指定された時間から再生を開始する。
IDvdControl2::PlayAtTimeInTitle
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿