用WindowsMediaPlayer9.0控件做一个简单的程序(用MFC),当WindowsMediaPlayer的SetUrl方法加载文件时,总是出现一闪,再播放,请问该如何解决?就是要WindowsMediaPlayer加载文件时不出现闪烁!

解决方案 »

  1.   

    是不是可以在播放时不让控件涮新显示(没有用过WindowsMediaPlay9,不敢多言)
    以前用CCtrlList控件是,当读取显示数据很多时,就闪,后来在显示数据时用SetRedraw(FALSE);
    全部加载后用SetRedraw(TRUE);再涮新。
      

  2.   

    初始化设置
    m_WMPPlayer.SetWindowPos(GetDlgItem(IDC_OCX),0,0,0,0,SWP_HIDEWINDOW);
    m_WMPControls=m_WMPPlayer.GetControls();
    m_WMPSettings=m_WMPPlayer.GetSettings();
    m_WMPSettings.SetAutoStart(FALSE);
    m_WMPPlayer.SetEnableContextMenu(FALSE);
    m_WMPPlayer.SetUiMode("invisible");
    void CSongDemoDlg::PlayTail()
    {
    char pMPG[1000];
    sprintf(pMPG,"%s%s",strAppPath,"Tail.mpg");
    m_WMPPlayer.SetUrl(pMPG);
    //m_WMPPlayer.SetUrl(LoadResourceByID(IDR_MPG_TAIL,"Mpg"));
    m_WMPSettings.SetPlayCount(1);
    m_WMPPlayer.SetUiMode("none");
    m_WMPPlayer.SetWindowPos(GetDlgItem(IDC_OCX),0,0,800,600,SWP_SHOWWINDOW);
    m_WMPControls.play();
    if(m_WMPPlayer.GetPlayState()==2)
    {
    m_WMPPlayer.SetFullScreen(TRUE);
    }
    }
      

  3.   

    to gjd111686(数字金刚)
    你将WMP控件先隐藏了,然后再显示播放,就看不出闪烁了!
    可是我想WMP控件总是显示,而加载时不出现闪烁,有什么办法阿?