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

2023-11-11


前言

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 QtQuick
import QtMultimedia
import QtQuick.Controls

Window {
    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 QtQuick
import QtMultimedia
import QtQuick.Controls

Window {
    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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Linux“屏幕”的 Windows 等效项还是其他替代方案?

    我正在寻找一种在 Windows 环境中控制程序的方法 我希望它与 Linux 软件有点相似 screen 我搜索的原因是我需要使用标识符启动一个程序 在 Windows 上 这样我以后就能够关闭该特定程序 而无需关闭其他任何程序 即使实际
  • 错误:命令“c++”失败,退出状态为 1

    所以我尝试按照以下说明安装 Pyv8https andrewwilkinson wordpress com 2012 01 23 integrating python and javascript with pyv8 https andre
  • 在Qt中,如何正确实现委托?

    我遵循模型 视图 控制器范例 我很确定模型和视图是正确的 但我认为我的代表做错了一些事情 一切都 有效 除了第一次单击控件只是 点亮控件 而第二次单击与之交互之外 这是代表通常的实施方式吗 我的实现需要大量的构造和销毁 由scoped pt
  • C++:Linux平台上的线程同步场景

    我正在为 Linux 平台实现多线程 C 程序 其中我需要类似于 WaitForMultipleObjects 的功能 在搜索解决方案时 我发现有一些文章描述了如何在 Linux 中实现 WaitForMultipleObjects 功能
  • 如何重命名 .tar.gz 文件而不提取内容并在 UBUNTU 中创建新的 .tar.gz 文件?

    我有一个命令将创建一个新的 tar gz现有文件中的文件 sudo tar zcvf Existing tar gz New tar gz 该命令将创建一个新的New tar gz从现有的文件Existing tar gz file 谁能告
  • XAMPP Windows 上的 Php Cron 作业

    嗯 我是这个词的新手CRON 据我所知 这是一个Unix安排特定操作在定义的时间间隔后执行的概念 我需要运行一个php文件 每小时更新一次数据库 但我的困惑在于安排执行 我在用XAMPP用于 Windows 7 上的本地开发测试 我发现了什
  • 如何使用 qt 库中的调试符号为 qt 5.5 创建开发 shell

    我有一个开发外壳buildInputs条目包括qt55 qtbase 这很好用 今天 我在 qt 库中发生了段错误 我想要带有调试符号的 qt 库 我看了一下nixpkgs pkgs development libraries qt 5 5
  • QT C++ QRegularExpression 多个匹配

    我想使用正则表达式从 QString html 中提取信息 我明确想使用正则表达式 无解析器解决方案 和类Q正则表达式 http qt project org doc qt 5 0 qtcore qregularexpression htm
  • Python将文件从Linux复制到WIndows

    我正在构建一个网站 该网站有一个表单 可以捕获用户数据并在用户数据上运行一些cgi cgi 的第一步是需要将文件从 Linux Web 服务器复制到 Windows 计算机 服务器将使用 Active Directory 角色帐户作为复制凭
  • 完整的 C++ i18n gettext()“hello world”示例

    我正在寻找完整的 i18ngettext 你好世界的例子 我已经开始了一个基于的脚本使用 GNU gettext 的本机语言支持教程 https web archive org web 20130330233819 http oriya s
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • 比较linux中的两个未排序列表,列出第二个文件中的唯一项

    我有 2 个包含号码列表 电话号码 的文件 我正在寻找一种列出第二个文件中第一个文件中不存在的数字的方法 我尝试过各种方法 comm getting some weird sorting errors fgrep v x f second
  • 运行 shell 命令并将输出发送到文件?

    我需要能够通过 php 脚本修改我的 openvpn 身份验证文件 我已将我的 http 用户设置为免通 sudoer 因为这台机器仅在我的家庭网络中可用 我目前有以下命令 echo shell exec sudo echo usernam
  • 如何在特定的Java版本上运行应用程序?

    如何运行具有特定 Java 版本的应用程序 我安装了三个 Java 版本 myuser mysystem sudo update alternatives config java There are 3 choices for the al
  • 了解 Linux oom-killer 日志

    我的应用程序被 oom killer 杀死了 它是在实时 USB 上运行的 Ubuntu 11 10 无需交换 PC 具有 1 Gig 的 RAM 唯一运行的应用程序 除了所有内置的 Ubuntu 东西 是我的程序 flasherav 请注
  • 在 QtCreator 中调试时如何查看 qDebug 消息

    我正在从 Eclipse CDT 带有 Qt 集成插件 过渡到 QtCreator 2 0 但仍有一件事困扰着我 QtCreator 当我在 QtCreator 中调试时 我在Application output tab直到我停止正在调试的
  • 套接字发送调用被阻塞很长时间

    我每 10 秒在套接字上发送 2 个字节的应用程序数据 阻塞 但发送调用在下面的最后一个实例中被阻塞超过 40 秒 2012 06 13 12 02 46 653417 信息 发送前 2012 06 13 12 02 46 653457 信
  • 在另一个中使用 QAbstractListModel

    我在尝试使用 Qt QML 为我的应用程序开发数据模型时遇到问题 我已经用过一个QAbstractListModel能够将海关数据模型从 C 传递到 QML 并且它对于简单模型 例如基于字符串和布尔的模型 来说就像一个魅力 但现在我需要建立
  • 为什么 call_usermodehelper 大多数时候都会失败?

    从内核模块中 我尝试使用 call usermodehelper 函数来执行可执行文件 sha1 该可执行文件将文件作为参数并将文件的 SHA1 哈希和写入另一个文件 名为输出 可执行文件完美运行 int result 1 name hom
  • 查找并删除超过 x 天的文件或文件夹

    我想删除超过 7 天的文件和文件夹 所以我尝试了 17 07 14 email protected cdn cgi l email protection find tmp mindepth 1 maxdepth 1 ctime 7 exec

随机推荐

  • 无服务器编程语言,腾讯云之无服务器云函数运行golang程序-Go语言中文社区

    使用腾讯的 无服务器云函数启动了一个服务 用golang代码生成以太坊的私钥跟地址 genEthAddr png 无服务器云函数是什么 腾讯云的无服务器云函数 跟 aws lambda类似 把一段代码放到云函数服务器上 设定好访问路径 就可
  • 高等代数 多项式环(第7章)5* 结式与域

    一 结式 1 概念 2 结式与公共复根 1 多项式存在公共复根的判定 定理1 设 f x a
  • 数据结构——>单向环形链表

    单向环形链表 一 单向环形链表应用场景 二 单向环形链表介绍 三 单向环形链表代码实现 1 代码实现思路 2 代码实现 一 单向环形链表应用场景 提起单向环形链表 就不得不说约瑟夫问题 约瑟夫环 什么事约瑟夫问题呢 1 约瑟夫问题 有时也称
  • 机器学习:EM算法

    一 初识EM算法 EM算法也称期望最大化 Expectation Maximum 简称EM 算法 它是一个基础算法 是很多机器学习领域算法的基础 比如隐式马尔科夫算法 HMM 等等 EM算法是一种迭代优化策略 由于它的计算方法中每一次迭代都
  • FreeRTOS基础五:软件定时器

    软件定时器简介 软件定时器的作用 在指定的时间到来时执行指定的函数 或者以某个频率周期性地执行某个函数 被执行的函数叫做软件定时器回调函数 软件定时器由FreeRTOS内核实现 不需要硬件支持 软件定时器只有在软件定时器回调函数被调用时才需
  • 用EditPlus来编辑网页代码 写网页代码 网页软件安装包大小1.91MB JQ代码编辑软件

    如何使用EditPlus这款软件来编辑网页代码 第一步 我们先来安装这款软件 我就先分享一下这款软件 链接 https pan baidu com s 1YtMJboQ0abPTybIZMZu8Bg 提取码 jes4 第二步 等安装好这款软
  • Python GUI 设计(三)---Widget组件详解

    1 1 Canvas画布组件 Tkinter模块中的Canvas组件主要用于绘制图形 文字 设计动画等甚至也可以将其他小部件放在画布上 比如视频 它的语法格式如下 Canvas 父窗口 options 第一个参数是父窗口 表示这个画布建立在
  • STM32的RTC时钟及其相关寄存器

    1 什么是RTC时钟 RTC时钟本质上上一个定时器系统 但是其定时器的计数值最终是以2020 1 30 16 27 类似这样的形式呈现的 说白了就是它就是实时时钟 并且这个时钟不怕断电 断电后它在后备区继续计时 而后备区是有电池供电的 2
  • vscode使用remote-ssh连接远程服务器 报错:“过程试图写入的管道不存在”

    问题如题 网络上有很多解决 过程试图写入的管道不存在 的方法 笔者基本试过了一遍 也没能解决问题 这里不是指他们的方法没有用 只是能解决的问题可能不是我遇到的这种 我的解决方法是 修改配置文件的格式 就这么简单 这种格式才是正确的 从第二行
  • sqli-labs/Less-31

    欢迎界面和上一关差不多 所以我们还是使用双参数注入 首先判断第二个参数是否为数字型 输入如下 id 1 id 1 and 1 2 回显如下 所以属于字符型 然后判断是单引还是双引 输入如下 id 1 id 1 回显如下 正确回显了 所以不属
  • ^A在linux的处理

    这是hive的默认分隔符 用脚本awk或python可以把分隔符设置为 x01 在vim中选中时 用ctrl a来表示这个分隔符
  • 工业互联网+5G 发展策略研究

    本文首发于 邮电设计技术 边缘计算社区经过授权转发 摘要 工业互联网发展水平与一个国家的国际竞争力强相关 截至2020 年我国工业互联网发展初见成效 但商业模式还需要持续探索 首先探索工业互联网定义及发展情况 其次理清工业互联网与5G 关系
  • C++ DLUT 上机作业(四)

    文章目录 C DLUT上机作业 四 1 intArray 2 Goods 3 Cpoint 4 Account C DLUT上机作业 四 啥都不说 直接来 1 intArray 设计整型数组类intArray 实现若干数据的相关操作 包括构
  • React-实现循环轮播

    问题 写字体轮播的时候 不使用swiper库 使用top定位 让字体过渡上下移动 发现写成的效果就是每次播到最后一个元素后 只能突然展示第一个元素 失去了那种上下移的动过渡效果 ss 解决 import useRef useEffect u
  • K近邻思想解决字体反爬

    猫眼电影字体反爬 1 解决思路 1 1 获取对照组字体文件 按照不同字形字体的unicode得到文字与其坐标的对应关系形成可遍历的数据结构 然后处理成可计算的数组或者直接遍历出所有的坐标数据 1 2 再提取当前访问页面的自定义字体文件 取出
  • (CNN)卷积神经网络原理详解,大白话讲解卷积

    卷积到底在卷啥 卷积是什么 零基础入门神经网络的小白都会有这样的疑问 其实卷积很简单 卷积神经网络CNN 是一类包含卷积计算且具有深度结构的前馈神经网络 Feedforward Neural Networks 是深度学习 deep lear
  • 香农公式说明了什么_香农公式理解

    1948 年 香农 Shannon 用信息论的理论推导出了带宽受限且有高斯白噪 声干扰的信道的极限信息传输速率 当用此速率进行传输时 可以做到不出差错 用公式表示 则信道的极限信息传输速率 C 可表达为 C B log2 1 S N b s
  • 中小微企业如何选择网络品牌推广公司?

    有人认为品牌推广是大型企业的事情 中小微企业没有必要做品牌推广 口碑侠营销顾问则不以为然 口碑侠认为小微企业之所以还是小微企业就是因为没有做有效的品牌推广 不是他们不需要品牌推广 而是资金和团队还做不了成规模的品牌推广 如果有足够的条件开展
  • PTI:通过枢轴完成人脸投影

    paper PTI Pivotal Tuning for Latent based Editing of Real Images 2022 ACM TOG StyleGan 人脸编辑相关 人脸投影 paper code 在StyleGAN中
  • Qt Qml 多媒体播放视频(MediaPlayer)遇到的问题及解决方法

    文章目录 前言 一 视频无法播放的原因 1 目录结构 2 正确代码 二 绝对路径 相对路径 三 路径中的转义字符 测试版本 前言 Qml 多媒体播放视频开发过程中遇到的问题 记录一下 一 视频无法播放的原因 创建的Qt Quick Ui P