void main(void) { IGraphBuilder *pGraph = NULL; IMediaControl *pControl = NULL; IMediaEvent *pEvent = NULL; // Initialize the COM library. HRESULT hr = CoInitialize(NULL); if (FAILED(hr)) { printf("ERROR - Could not initialize COM library"); return; }
// Create the filter graph manager and query for interfaces. hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&pGraph); if (FAILED(hr)) { printf("ERROR - Could not create the Filter Graph Manager."); return; }
// Build the graph. IMPORTANT: Change this string to a file on your system. hr = pGraph->RenderFile(L"e:\\CEO.mp4", NULL); if (SUCCEEDED(hr)) { // Run the graph. hr = pControl->Run(); if (SUCCEEDED(hr)) { // Wait for completion. long evCode; pEvent->WaitForCompletion(INFINITE, &evCode);
// Note: Do not use INFINITE in a real application, because it // can block indefinitely. } } pControl->Release(); pEvent->Release(); pGraph->Release(); CoUninitialize(); } 它确实能够播放我自己电脑中的这种格式的文件,filter graph如下: 说明有mpeg4的Decoder 现在我的问题就是怎么样才能变成mpeg4的实时播放的东西,请各位高手帮助下我啊!谢谢大家! 另:我认为我的问题是majortype & Subtype的设置 或者是mpeg4本身不能用来像mpeg1那样的网络实时传输播放! 谢谢 大家帮助我下 感谢大家了! 我的邮箱:747616656@qq.com & Roy0810633@hotmail.com 再次感谢大家!祝大家愉快!