秒速|5厘米°- 2021-05-13 14:28 采纳率: 50%
浏览 59
已采纳

关于MCI播放AVI视频的问题

最近想利用mciSendCommand函数播放avi格式的视频,但是遇到了一些问题。

在执行播放时,返回错误代码276,返回文本信息是设备驱动程序尚未准备就绪。 如下图:

查了一下百度,按照百度所说,system.ini中如果安装了驱动,mci段会有相应的设置,然而我的mci段什么都没有。


初步确定,需要mciavi.drv驱动,但是我下载了却不知道怎么安装,我是Win10 64位系统。

希望大神为我解答,我该如何解决这个问题。。或者推荐一些可以播放avi视频的库,可以实现从指定帧(时间)播放,也行,opencv除外。。

下面是我的代码:
void Video::test()
{
        MCI_OPEN_PARMS OpenParms;
        UINT wDeviceID;
        DWORD opReturn;
        wchar_t* error[256];

        QString file = "test.avi";
        QString deviceType = "avivideo";
        LPCWSTR FileName = reinterpret_cast<const wchar_t *>(file.utf16());
        LPCWSTR dt = reinterpret_cast<const wchar_t *>(deviceType.utf16());
        OpenParms.lpstrDeviceType = dt;
        OpenParms.lpstrElementName = FileName;

        opReturn = mciSendCommand(NULL, MCI_OPEN, MCI_WAIT | MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, (DWORD_PTR)&OpenParms);
        if (opReturn == 0)
                wDeviceID = OpenParms.wDeviceID;
        else {
                mciGetErrorString(opReturn, (LPWSTR)error, 256);
                QString text = QString::fromStdWString((LPWSTR)error);
                qDebug() << opReturn << " " << text;
                wDeviceID = NULL;
                return;
        }
        MCI_PLAY_PARMS PlayParms;
        // 指定从什么地方(时间)播放
        PlayParms.dwFrom = 0;
        opReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_TO, (DWORD_PTR)&PlayParms);
        mciGetErrorString(opReturn, (LPWSTR)error, 256);
        QString text = QString::fromStdWString((LPWSTR)error);
        qDebug() << opReturn << " " << text;
}

  • 写回答

4条回答 默认 最新

  • 秒速|5厘米°- 2021-05-16 17:49
    关注

    已解决

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘