qt4.8.6 基于Phonon的播放器无法播放acc等音频文件解决方法
对于Qt多媒体应用开发,主要使用Phonon多媒体框架。但是受制于框架的设计,实际的多媒体功能都由后端(Backends)来实现,Phonon框架本身不提供多媒体资源的编码和解码。对于Windows平台而言,Phonon框架支持的插件是DirectShow,其只能支持一部分多媒体类型,对于常用的mp4、rmvb,手机上的acc等格式都不予支持。
针对上述问题,网上找到的方法是改用功能强大的 MPlayer 播放器作为后端,以便Qt应用程序支持更多的媒体类型。
这个轮子前辈已经造好了,我就直接拿来用了,由于我这个是在window下使用,我是在 vs 工程里面生成所需的库文件。
下面简单介绍下使用方法:
一、下载 phonon-mplayer
https://download.csdn.net/download/qiangzi4646/10319719
二、编译生成mplayer.lib 、phonon_mp.dll、phonon_mp.lib
- 先导入phonon-mplayer\libmplayer\libmplayer.pro 至VS工程,自动生成工程 mplayer,编译成功后产生 mplayer.lib 留作备用。
- 再导入 phonon-mplayer\phonon_mp.pro 至VS工程,自动生成工程 phonon_mp,将上一步产生的 mplayer.lib 拷贝至工程所在目录,编译会报错,修改所有包含的 libmplayer 文件夹中头文件的路径,从<>改成 “”。编译成功后产生 phonon_mp.dll 和 phonon_mp.lib>。
- 将 phonon_mp.dll 和 phonon_mp.lib 拷贝至C:\Qt\4.8.6\plugins\phonon_backend(如果你的qt默认安装的话,否则在你自定义的qt安装目录下找) 文件夹下,并【删除默认的 phonon_ds94.dll 和 honon_ds94.lib】
- 至此 phonon 的mplayer的后端插件部署完成。
- 最后重新编译调用 phonon 框架的播放器(也就是你的qt工程)即可,不用另外做其他修改。则可以播放 acc 等其他扩展的视频音频文件了。
使用Phonon播放:
//新建多媒体对象Phonon::MediaObject *pMediaObject = new Phonon::MediaObject(this);Phonon::MediaSource source(strFilePath);//设置播放文件路径pMediaObject->setCurrentSource(source);pMediaObject->play();//播放
qt4.8.6 基于Phonon的播放器无法播放acc等音频文件解决方法相关推荐
- 基于Qt的音乐播放器(一)添加音频文件,播放音乐,更新进度条
2020博客之星年度总评选进行中:请为74号的狗子投上宝贵的一票! 我的投票地址:点击为我投票 文章目录 1.实现音频文件对话框(QFileDialog类) 2.实现音乐播放(QMediaPlayer ...
- 计算机无法播放视频,电脑播放器无法播放视频怎么处理
没有安装,或者安装的FLASH播放器版本低于8.0 症状: 1.播放器位置空白. 2.播放器左上角显示方块. 3.能播放Youku片头,但不能播放视频. 4.能够播放视频,但播放器按钮显示不正常. 5 ...
- YouTube iframe嵌入式播放器及播放器参数 自动播放,循环播放,播放列表,不显示 YouTube 徽标
YouTube 嵌入式播放器及播放器参数 概览 本文档介绍如何在应用中嵌入 YouTube 播放器,并定义了 YouTube 嵌入式播放器可以使用的参数. 通过将参数附加到 iframe 网址末尾,您 ...
- 【Android FFMPEG 开发】OpenSLES 播放音频 ( 创建引擎 | 输出混音设置 | 配置输入输出 | 创建播放器 | 获取播放/队列接口 | 回调函数 | 开始播放 | 激活回调 )
文章目录 I . FFMPEG 播放视频流程 II . OpenSLES 播放音频流程 III . OpenSLES 播放参考 Google 官方示例 IV . OpenSL ES 播放代码 ( 详细 ...
- C# 视频监控系列(13):H264播放器——控制播放和截图
C# 视频监控系列(13):H264播放器--控制播放和截图 前言 本该把这部分和上一篇合成一篇的,无奈挣扎半天,还是想对称起来,客户端3篇.服务器端3篇--所有播放器也勉强凑3篇吧(封装API的文章 ...
- Android中调用系统已安装的播放器来播放网络流媒体视频
2019独角兽企业重金招聘Python工程师标准>>> 实现思路比较简单几行代码就可以搞定,在界面放一个Button或者带有播放图标的imageview,点击事件中调用本地播放器来播 ...
- 我的YUV播放器MFC小笔记:解析文件名称
为了方便播放器直接播放,也为实现所谓智能识别文件分辨率和格式,对文件名称进行解析,代码如下: #define ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))// ...
- Android实现控制第三方音乐播放器暂停/播放
实现控制第三方音乐播放器思路: 1.参考方法:可能实现第三方音乐播放器暂停/播放/下一曲/上一曲 思路:android模拟发送键值,就像蓝牙耳机等远程设备切换歌曲操作,但是行不通.原因是现在Andro ...
- 网络摄像头无插件直播H265编码视频播放器EasyPlayer网页播放器不能播放怎么处理?
EasyPlayer播放器系列项目提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速地开发出属于自己的应用程序,进行第二次开发.新版的EasyPlayer因为支持H265网页播放 ...
最新文章
- RL之DQN:基于TF训练DQN模型玩“打砖块”游戏
- 角点检测——发现图像的特征
- 元素、属性、标题、段落、文本格式化
- 推荐系统炼丹笔记:聊一聊特征交叉新方式CAN
- 关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询
- [LeetCode] Max Points on a Line 题解
- RabbitMQ使用简述
- mysql 恢复root用户_mysql误删root用户恢复方案
- 网速提高学习周——系统篇
- 单例嵌套 ios_嵌套类型的前5个用例
- android sdk 4.4.4,4.4.4 not in Android SDK manager
- 蓝桥c++2013真题:逆波兰表达式(代码填空题)
- 大型油烟机清洗机器人_餐饮业大型油烟机清洗的必要性,你知道吗?
- 医院的HIS系统简介
- 使用GoldWave为音频添加特效
- 使用 Python 脚本执行国密 sm2 加解密
- 人力资源数据分析(包含数据来源文件)
- Python中的StringIO与cStringIO简析
- 深度学习——模型调整
- 中国机器博弈事业开拓者、CAAI 会士徐心和教授因病逝世...