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

关于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 生物医学数据分析。基础课程就v经常唱课程舅成牛逼
  • ¥15 云环境云开发云函数对接微信商户中的分账功能
  • ¥15 空间转录组CRAD遇到问题
  • ¥20 materialstudio计算氢键脚本问题
  • ¥15 有没有代做有偿主要做数据可视化部分即可(2023全国高考更省一本线理科类)
  • ¥15 配置FPT报错,该如何处理
  • ¥15 请大家看一下这个代码咋写,一点思路都没有,最好能做一下,不要伪代码,有偿
  • ¥15 有偿请人帮写个安卓系统下禁止装软件及禁止拷入文件的程序
  • ¥100 用 H.265 对音视频硬编码 (CUDA)
  • ¥20 mpich安装完成后出问题