问题见题目

解决方案 »

  1.   

    to xx_jj():
    你使用过吗?
      

  2.   

    directshow
    http://ms.mblogger.cn/eyes4
    http://www.mblogger.cn/ms.mblogger.cn/eyes4/archive/102004.htm
      

  3.   

    BOOL CNDirectShow::Initialize()
    {
    HRESULT hr = S_OK; hr = SUCCEEDED(hr) ? 
    ::CoInitialize(NULL) 
    : hr; // ´´½¨Filter Graph Manager 
    hr = SUCCEEDED(hr) ? 
    ::CoCreateInstance( CLSID_FilterGraph,
    NULL,
    CLSCTX_INPROC_SERVER,
    IID_IGraphBuilder,
    (void **)&m_pGraph)
    : hr; // »ñÈ¡¿ØÖƽӿÚ
    hr = SUCCEEDED(hr) ?
    m_pGraph->QueryInterface( IID_IMediaControl,
    (void **)&m_pControl)
    : hr; // »ñȡʼþ½Ó¿Ú
    hr = SUCCEEDED(hr) ?
    m_pGraph->QueryInterface( IID_IMediaEvent,
    (void **)&m_pEvent)
    : hr;
    //* --²âÊÔÓÃ
    m_pGraph->RenderFile( L"K:\\video\\A2.MPG", NULL); if (SUCCEEDED(hr))
        {
            // Run the graph.
            hr = m_pControl->Run();
            if (SUCCEEDED(hr))
            {
                // Wait for completion.
                long evCode;
                m_pEvent->WaitForCompletion(INFINITE, &evCode);            // Note: Do not use INFINITE in a real application, because it
                // can block indefinitely.
            }
        } return SUCCEEDED(hr);}BOOL CNDirectShow::Release()
    {
    SAFE_RELEASE(m_pControl);
        SAFE_RELEASE(m_pEvent);
        SAFE_RELEASE(m_pGraph);
        CoUninitialize(); return TRUE;
    }
      

  4.   

    BOOL CNDirectShow::Initialize()
    {
    HRESULT hr = S_OK; hr = SUCCEEDED(hr) ? 
    ::CoInitialize(NULL) 
    : hr; // 创建Filter Graph Manager 
    hr = SUCCEEDED(hr) ? 
    ::CoCreateInstance( CLSID_FilterGraph,
    NULL,
    CLSCTX_INPROC_SERVER,
    IID_IGraphBuilder,
    (void **)&m_pGraph)
    : hr; // 获取控制接口
    hr = SUCCEEDED(hr) ?
    m_pGraph->QueryInterface( IID_IMediaControl,
    (void **)&m_pControl)
    : hr; // 获取事件接口
    hr = SUCCEEDED(hr) ?
    m_pGraph->QueryInterface( IID_IMediaEvent,
    (void **)&m_pEvent)
    : hr;
    //* --测试用
    m_pGraph->RenderFile( L"K:\\video\\A2.MPG", NULL); if (SUCCEEDED(hr))
        {
            // Run the graph.
            hr = m_pControl->Run();
            if (SUCCEEDED(hr))
            {
                // Wait for completion.
                long evCode;
                m_pEvent->WaitForCompletion(INFINITE, &evCode);            // Note: Do not use INFINITE in a real application, because it
                // can block indefinitely.
            }
        } return SUCCEEDED(hr);}BOOL CNDirectShow::Release()
    {
    SAFE_RELEASE(m_pControl);
        SAFE_RELEASE(m_pEvent);
        SAFE_RELEASE(m_pGraph);
        CoUninitialize(); return TRUE;
    }
      

  5.   

    谢谢各位,尤其谢谢wangjia184(我就是传说中的SB)
      

  6.   

    用wangjia184的代码测试播放wmv文件成功。