小工具知识网

当前位置: 首页 > 行业知识 > Qt Qml 多媒体播放视频(MediaPlayer)遇到的问题及解决方法

行业知识

Qt Qml 多媒体播放视频(MediaPlayer)遇到的问题及解决方法

2026-11-02 09:30:31 来源:互联网转载

文章目录

  • 前言
  • 一、视频无法播放的原因
    • 1. 目录结构
    • 2. 正确代码
    • 二、绝对路径/相对路径
    • 三、路径中的转义字符
    • ���试版本

      前言

      Qml 多媒体播放视频开发过程中遇到的问题,记录一下。

      ()

      一、视频无法播放的原因

      创建的Qt Quick Ui Prototype工程,视频播放正常。但是相同的代码在Qt Quick Application(compat)中却不能正常显示。

      1. 目录结构

      • Qt Quick Ui Prototype目录结构
        qml|- project_1|- project_1.qml|- project_1.qmlproject|- project_1.qmlproject.user|- test.mp4
        • Qt Quick Application(compat) 目录结构
          qml|- build-untitled1-Desktop_Qt_6_5_1_MinGW_64_bit-Debug|- debug|- project_2.exe|- release|- .qmake.stash|- Makefile|- Makefile.Debug|- Makefile.Release|- project_2|- project_2.qml|- project_2.qmlproject|- project_2.qmlproject.user|- test.mp4

          2. 正确代码

          • Qt Quick Ui Prototype 工程

            这里没有什么需要注意的,按照Qt帮助文档的代码来就行了,显示是正常的。

            import QtQuickimport QtMultimediaimport QtQuick.ControlsWindow {    id:root    width: 640    height: 480    visible: true    MediaPlayer{        id:player        source: "test.mp4";        videoOutput: videoOutput    }    VideoOutput{        id:videoOutput        width: root.width-80;        anchors.centerIn: parent    }    Component.onCompleted: {        player.play()    }}
            • Qt Quick Application(compat) 工程

              注意事项见注释。

              import QtQuickimport QtMultimediaimport QtQuick.ControlsWindow {    id:root    width: 640    height: 480    visible: true    MediaPlayer{        id:player        //相对路径,基于build-untitled1-Desktop_Qt_6_5_1_MinGW_64_bit-Debug文件夹        source: "file:../project_2/test.mp4"//绝对路径, 下面的代码也是可以正常运行的,注意转义字符"\"//source: "file:\D:\qml\project_2\test.mp4";//ubuntu系统,绝对路径,注意这里 三个/(///)//source: "file:///home/book/test.mp4"        videoOutput: videoOutput    }    VideoOutput{        id:videoOutput        width: root.width-80;        anchors.centerIn: parent    }    Component.onCompleted: {        player.play()    }}

              二、绝对路径/相对路径

              • 相对路径

                file:相对路径

                ()

                备注: 相对路径基于 build-untitled1-Desktop_Qt_6_5_1_MinGW_64_bit-Debug 文件夹

                • 绝对路径

                  file://绝对路径

                  备注:windows路径中的"\“需要使用转义字符”\\"代替

                  备注:

                  1. MediaPlayer经测试,必须使用file(绝对路径/相对路径)。source属性不支持qrc资源。
                  默认使用URL路径::/res/lock_blue.png使用索引资源文件:"qrc:///filepath"

                  三、路径中的转义字符

                  转义前:"C:\temp\test.txt";转义后:"C:\temp\test.txt";

                  参考:Qt的转义字符

                  测试版本

                  Qt5.6

                  Qt6.2

上一篇:构纪使用指南,轻松上手,发挥最大效用!

下一篇:如何在ppt中加入视频?关于ppt插入视频的几种方式[详解]