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

这篇具有很好参考价值的文章主要介绍了Qt Qml 多媒体播放视频(MediaPlayer)遇到的问题及解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

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文章来源地址https://www.toymoban.com/news/detail-752545.html

到了这里,关于Qt Qml 多媒体播放视频(MediaPlayer)遇到的问题及解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软考:中级软件设计师:多媒体基础,音频,图像,颜色,多媒体技术的种类,图像音频视频的容量计算,常见的多媒体标准

    提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 (1)自己的科研经历, 科研内容 ,学习的相关领域知识,要熟悉熟透了 (2)自己的实习经历,做了 什

    2024年02月09日
    浏览(57)
  • qt6 多媒体开发代码分析(二、录音)

    常见的音频编码格式包括MP3、AAC、OGG、WMA、FLAC等,它们之间具有以下区别: 编码方式不同:这些编码格式采用的编码算法不同,例如MP3和AAC使用有损压缩算法,而FLAC使用无损压缩算法。 压缩率和文件大小不同:由于采用的编码算法不同,不同格式的音频文件压缩率和文件大

    2024年02月07日
    浏览(39)
  • 15-1_Qt 5.9 C++开发指南_Qt多媒体模块概述

    多媒体功能指的主要是计算机的音频和视频的输入、输出、显示和播放等功能,Qt 的多媒体模块为音频和视频播放、录音、摄像头拍照和录像等提供支持,甚至还提供数字收音机的支持。本章将介绍 Qt 多媒体模块的功能和使用。 Qt 多媒体模块提供了很多类,可以实现如下的

    2024年02月13日
    浏览(51)
  • (八)穿越多媒体奇境:探索Streamlit的图像、音频与视频魔法

    欢迎各位读者来到“最全Streamlit教程”专栏系列!如果您正在寻找一种简单而强大的方式来创建交互式数据应用程序,那么Streamlit无疑是您的最佳选择。作为该领域的热门框架,Streamlit让数据科学家、开发者和爱好者能够以前所未有的速度构建出引人入胜的数据可视化工具。

    2024年02月13日
    浏览(47)
  • [前端笔记——多媒体与嵌入] 6.HTML 中的图片+视频+音频内容

    可以用 img 元素来把图片放到网页上。它是一个空元素(它不需要包含文本内容或闭合标签),最少只需要一个 src (一般读作其全称 * *source) * *来使其生效。src 属性包含了指向我们想要引入的图片的路径,可以是相对路径或绝对 URL,就像 a 元素的 href 属性一样。 属性是

    2023年04月25日
    浏览(57)
  • 【python】fastapi response返回文本、音视频多媒体资源实现

    HTMLResponse 是FastAPI中自带的一个响应类,用于返回HTML格式的响应。使用方法如下: 在上面的例子中,我们在装饰器中指定了 response_class=HTMLResponse ,表示我们需要返回一个HTML响应。然后在函数中,我们返回了一个HTML格式的字符串。FastAPI会自动将这个字符串封装成一个 HTMLR

    2023年04月27日
    浏览(51)
  • 多媒体库SDL以及实时音视频库WebRTC中的多线程问题实战详解

    目录 1、概述 2、开源跨平台多媒体库SDL介绍 3、开源音视频实时通信库WebRTC介绍

    2024年02月08日
    浏览(56)
  • 05 带音视频、多媒体、2D3D显示加速的嵌入式类芯片介绍

    作者 将狼才鲸 创建日期 2022-04-11 带硬件音视频编解码模块的芯片有两类: 一是不包含GPU(支持OpenGL ES、Open VG等协议),只带有图片编解码器、VPU视频编解码器和2D显示加速(多图层、打点、画线、画矩形、平移、缩放、旋转、替换、透明)的芯片。 二是包含完整的GPU,支持

    2023年04月08日
    浏览(129)
  • 【HTML 往日冒险 09】多媒体 插件 音频audio 视频video iframe YouTube iframe bilibili

    HTML 多媒体 Web 上的多媒体指的是音效、音乐、视频和动画 不同的浏览器以不同的方式处理音效、动画和视频 某些元素能够以内联的方式处理,而某些则需要额外的插件 多媒体元素(比如视频和音频)存储于媒体文件中 确定媒体类型的最常用的方法是查看文件扩展名 多媒体

    2024年02月07日
    浏览(45)
  • 【HTML5】HTML5 多媒体标签 ② ( 视频标签 <video> | 视频标签常见属性 | autoplay 属性 | controls 属性 | poster 属性 | 设置多个格式视频 )

    HTML 5 的 video 视频标签 , 支持 ogg / mpeg 4 ( mp4 ) / webM 三种格式的音频 , 不同的浏览器支持的音频格式不同 ; IE 浏览器 : 9.0 以上版本支持 mp4 格式 ; Firefox 浏览器 : 3.5 以上版本支持 ogg 格式 ; 4.0 以上版本支持 webM 格式 ; Opera 浏览器 : 10.5 以上版本支持 ogg 格式 ; 10.6 以上版本支持

    2024年02月09日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包