以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  播放数字化视频AVI的方法  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=35475)


--  作者:卷积内核
--  发布时间:7/11/2006 9:51:00 AM

--  播放数字化视频AVI的方法
播放数字化视频AVI的方法

/////////////////////////////////////////////////////////////////////////

// PlayMovie

// 使用 MCI_OPEN和MCI_PLAY命令消息打开并播放数字化视频AVI

// 参数:lpszFileName 指定的AVI文件名

//      dwFrom —— 开始播放位置

//      dwTo —— 结束播放位置

//

// 返回值:0  —— 成功

//       非0 —— 失败,返回值为MCI错误码

/////////////////////////////////////////////////////////////////////////

DWORD PlayMovie(LPSTR lpszFileName, DWORD dwFrom, DWORD dwTo)

{

    DWORD dwReturn;

    // 打开AVI

    MCI_DGV_OPEN_PARMS  mciOpen;

    mciOpen.dwCallback       = 0L;

    mciOpen.wDeviceID        = 0;

    mciOpen.lpstrDeviceType = AVI_VIDEO;

    mciOpen.lpstrElementName = lpszFileName;

    mciOpen.lpstrAlias       = NULL;

    mciOpen.dwStyle          = 0;

    mciOpen.hWndParent = NULL;

    if (dwReturn=mciSendCommand(0, MCI_OPEN,

(DWORD)(MCI_OPEN_TYPE),

(DWORD)(LPMCI_DGV_OPEN_PARMS)&mciOpen) )

{

              // 打开设备失败,返回错误码

return dwReturn;

}

    // 播放AVI

    MCI_DGV_PLAY_PARMS mciPlay;    // play parameters

    DWORD dwFlags = 0;

    

// 打开设备成功,获取设备ID

WORD wDevID = mciOpen.wDeviceID;

// 检查开始播放位置,如不等于0,则进行设置

    if (dwFrom)

{

             mciPlay.dwFrom = dwFrom;    // 设置参数

             dwFlags |= MCI_FROM;         // 设置标志

    }

    // 检查结束播放位置,如不等于0,则进行设置

    if (dwTo)

{

        mciPlay.dwTo = dwTo;       // 设置参数

        dwFlags |= MCI_TO;         // 设置标志

    }

    // 用MCI_PLAY 命令播放并返回结果

    return mciSendCommand(wDevID, MCI_PLAY, dwFlags,

                             (DWORD)(LPVOID)&mciPlay);


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms