用MCI Commands 如何满屏播放媒体

解决方案 »

  1.   

    播放的部分程序如下:
    ......
    // 如果是视频的尾部则重新开始播放
    if (GetFrame () >= GetFrames ())
        mciSendCommand (m_DeviceID, MCI_SEEK, MCI_SEEK_TO_START, NULL);
    // 播放
        MCI_DGV_PLAY_PARMS MCIPlay;
        MCIPlay.dwCallback = NULL;
        MCIPlay.dwFrom = GetFrame ();
        DWORD dwFlags = MCI_FROM;
        if (bLoop)
    dwFlags |= MCI_DGV_PLAY_REPEAT;  //循环播放
        if (bFullScreen)
    dwFlags |= MCI_MCIAVI_PLAY_FULLSCREEN;  //全屏播放
        if (mciSendCommand (m_DeviceID, MCI_PLAY, dwFlags, (DWORD)LPVOID) &MCIPlay))
        {
            return FALSE;
         }
      

  2.   

    To greenever(司马青杉) :
    我想在窗口中指定的Rect中播放,如何实现?help me!
      

  3.   

    总之就是用MCI Commands对播放画面如何缩放?(包括mpeg,avi等)
      

  4.   

    缩放问题我也正在看但是在指定区域显示非常简单。         MCI_DGV_PUT_PARMS MCIPut;
    //下面的left,top,width和height就是你要显示的矩形区域
             MCIPut.rc.left = left;
    MCIPut.rc.top  = top;
    MCIPut.rc.right = width;
    MCIPut.rc.bottom = height;
    if (mciSendCommand (m_DeviceID, MCI_PUT, MCI_WAIT | MCI_DGV_PUT_CLIENT |MCI_DGV_PUT_WINDOW | MCI_DGV_RECT, (DWORD)(LPVOID) &MCIPut))
             {
               Close ();
    return FALSE;
    }