- 最後登錄
- 2024-5-13
- 在線時間
- 0 小時
- 註冊時間
- 2008-5-3
- 閱讀權限
- 30
- 精華
- 4
- UID
- 4114704
- 帖子
- 1061
- 積分
- 1327 點
- 潛水值
- 4455 米
| 如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。 若 lib path 都設定正確,
用 VC 9.0 + dxsdk_apr2007 測試下列程式沒問題:
- #include <dshow.h>
- #pragma comment(lib, "dxguid.lib")
- #pragma comment(lib, "strmiids.lib")
- #define DO(s) if (FAILED(s)) {printf("fail in line %d",__LINE__);}
- int main()
- {
- long evCode;
- IGraphBuilder* pGraph = 0;
- IMediaControl* pControl = 0;
- IMediaEvent* pEvent = 0;
- DO (CoInitialize(0));
- DO (CoCreateInstance (CLSID_FilterGraph, 0,
- CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void**)&pGraph));
- DO (pGraph->QueryInterface (IID_IMediaControl,(void**)&pControl));
- DO (pGraph->QueryInterface (IID_IMediaEvent, (void**)&pEvent));
- DO (pGraph->RenderFile (L"x.mpg", 0));
- DO (pControl->Run());
- pEvent->WaitForCompletion (INFINITE, &evCode); //等影片播完
- pControl->Release();
- pEvent->Release();
- pGraph->Release();
- CoUninitialize();
- return system ("pause");
- }
複製代碼
以前用 DirectX 7 + VC 6.0 跑時,也沒問題.....
2007年版的 DirectX 和 VC 6.0,在配合上似乎需要多一點的調整?... |
|