我要在vb中调用vc的dll,播放指定的mpeg2文件,并且得到它的第一帧图象和播放时间。使用MCI编程,好象只能播放avi格式的。MCIOpen ,能打开avi格式。不知道如何打开mpeg2的格式文件?如果不能打开,我要完成相应功能,该如何处理?最好能提供源代码实例。还有flash(*.swf)的同样处理,该如何进行。谢谢,急。

解决方案 »

  1.   

    DirectShow可以播放mpeg2,见
    http://dev.csdn.net/article/19/19833.shtmflash 播放
    http://www.csdn.net/cnshare/soft/10/10990.shtm
      

  2.   

    // 抓取当前帧并存入指定文件
    LRESULT cmdCapture(HWND hwnd, WORD wCommand, WORD wNotify, HWND hwndCtrl)
    {
    RECT rect;
    MCI_DGV_CAPTURE_PARMS  mciCapture;
    ZeroMemory(&mciCapture,sizeof(mciCapture)); mciCapture.dwCallback=(DWORD)hwnd;
    mciCapture.lpstrFileName= "F:\\abc.bmp"; if ( mciSendCommand(0,MCI_CAPTURE,MCI_DGV_CAPTURE_AS ,(DWORD)&mciCapture) != 0 )
    {
    MessageBox(hwnd,"Capture Error",szAppName,
      MB_ICONEXCLAMATION|MB_OK);
    }
    return 0;
    }
    请有经验的人看看,这段代码,有什么问题?为什么一直capture error呢?
      

  3.   

    我有DirectShow播放 mpeg2的代码,如果需要就留下mail^_^
      

  4.   

    http://sourceforge.net/ 大把有,不过要遵守开远协议哦
      

  5.   

    PiggyXP(【小猪】●享受VC,享受网络版●) ,谢谢啊
    [email protected]
      

  6.   

    [email protected]  谢谢!
      

  7.   

    mciSendString("Open " & sFilename & " alias AVI type MPEGVideo", ReturnString, 256, 0)
    里可以打开dat,mpg-1,avi等大多数文件,看看type你可以了解更多。
    mpg-2可以找到解码器装了后就可以播放了。如果没有声音安装ac3的解码。这样你的
    Windows Media Player也可以播放dvd了。
    .swf文件的播放要使用flash.ocx控件。