郁闷,第一次用完后,我把Filter Graph重新连接一次(换了Source Filter),pGraph,pControl,pEvent等没改变,Run()后就再也接收不到完成时间通知了,不知道为什么,怎么改呀?

解决方案 »

  1.   

    换了Source Filter?可能得整个Filter Graph重新构造一次吧。
      

  2.   

    实现不行将代码发到[email protected]
      

  3.   

    flag = FALSE;         //BBE处理
    CusmProp = FALSE;     //非高级设置CreateGraph_BBE(L"D:\\Super Star.wav");  //构建Graph Filterm_pControl->Run();
    res = EffectDlg.DoModal();void CDemoDlg::OnGraphNotify(WPARAM inWparam,LPARAM inLparam)
    {
    if(m_pEvent)
    {
    LONG eventCode = 0,eventParam1 = 0,eventParam2 = 0;
    while(SUCCEEDED(m_pEvent->GetEvent(&eventCode,&eventParam1,&eventParam2,0)))
    {
    m_pEvent->FreeEventParams(eventCode,eventParam1,eventParam2);
    switch(eventCode)
    {
    case EC_COMPLETE:
    if(flag == FALSE)
    {
    m_pControl->Stop();

    CreateGraph_Verb();  //重新构建
    hr = m_pControl->Run();
    flag = TRUE;
    }
    else
    {

    m_pControl->Stop();
    EffectDlg.EndDialog(res);
    flag = FALSE;
    }
    break;
    case EC_CLOCK_CHANGED: break;
    }
    }
    }
    }