visual studio 2005+MFC+windows mobile6开发一个基于directshow的多媒体播放器。现在编译运行都正常,但是在模拟器中无法打开任何格式的文件。我想知道wm6 SDK中到底有没有集成directshow,还是我的程序有问题。

解决方案 »

  1.   

    貌似木有人做Windows Mobile 6开发了吧
      

  2.   

    void CEricMediaPlayerDlg::OnBnClickedBtnOpen()
    {
    DWORD dwMax = 0;
    //得到媒体播放窗口
    CWnd *pVideoWnd = GetDlgItem(IDC_WND_VIDEO);
    //得到进度条窗口
    CProgressCtrl *pPrgWnd = (CProgressCtrl*)GetDlgItem(IDC_PRG_VIDEO);
    //定义媒体播放文件名
    CString strFileName; TCHAR szFilters[]= _T("windows media video Files (*.wmv)|*.wmv|video Files (*.avi)|*.avi|All Files (*.*)|*.*||");
    CFileDialog fileDlg (TRUE, _T("Open video files"), _T("*.wmv"),
    OFN_FILEMUSTEXIST , szFilters, this); //打开文件选择对话框
    if( fileDlg.DoModal () !=IDOK )
    {
    return;
    } //得到要播放的视频文件名
    strFileName = fileDlg.GetPathName(); //打开视频文件
    if (m_VideoControl.OpenFile(strFileName,pVideoWnd->m_hWnd,m_hWnd))
    {
    //设置视频尺寸
    m_VideoControl.FitVideoWindow(1.0);
    //得到视频文件时间长度
    m_VideoControl.GetDuration(dwMax);
    //设置进度条范围
    pPrgWnd->SetRange(0,dwMax);
    pPrgWnd->SetPos(0);
    }
    else
    {
    AfxMessageBox(L"Can't play the video,because the system can't find some codec program!");
    }
    }
    单步调试到openfile函数就会有问题。