Phonon是QT提供的一套多媒体框架,提供多媒体播放图形界面和回放的功能,QT也是通过phonon来实现跨平台的多媒体播放。应用程序不需要关心多媒体播放到底是由什么实现的(如gstreamer、xine、mplayer),其应用框架实质上可以分为三部分:phonon、phonon_backend和播放后端,后端才是真正读取媒体、解码和播放的部分。QT中自带的phonon_backend是phonon_gstreamer,本文为了实现mplayer为播放后端,phonon_backend用的是phonon_mplayer。

移植到ARM下步骤:

1 Qt基本库移植,默认选项,./configure的时候不要把-phonon加上……。否则编译通不过。。

2 Qt phonon库移植

  进入源代码的phonon目录,如"/usr/src/qt-everywhere-opensource-src-4.6.0/src/phonon",实 际代码并不在里面,从phonon.pro文件可知源代码在“/src/3rdparty/phonon/phonon”,但并不影响编译。在终端输入 “make;make install”即可,如果安装时出错,也可手动将lib、include下相关文件拷贝到安装目录。

3. 后端插件安装 :

(1)下载phonon-mplayer。  

git clone git://anongit.kde.org/phonon-mplayer
cd phonon-mplayer/mplayer
qmake
make

进入QT下的plugins/phonon_backend/ 

cp phonon_backend/libphonon_mplayer.so   /opt/PDA/plugins/phonon_backend/

 

4 错误

QP_LOGGER ../mplayer/Backend.cpp 180 Phonon-MPlayer objectDescriptionIndexes 
QP_LOGGER ../mplayer/Backend.cpp 212 Phonon-MPlayer objectDescriptionProperties 
QP_LOGGER ../mplayer/Backend.cpp 180 Phonon-MPlayer objectDescriptionIndexes 
QP_LOGGER ../mplayer/Backend.cpp 212 Phonon-MPlayer objectDescriptionProperties 
QP_LOGGER ../mplayer/MediaController.cpp 356 Phonon-MPlayer subtitleAdded 
QP_LOGGER ../mplayer/MediaController.cpp 396 Phonon-MPlayer subtitleChanged New current subtitle: "None" 
QP_LOGGER ../mplayer/Backend.cpp 256 Phonon-MPlayer startConnectionChange 
QP_LOGGER ../mplayer/Backend.cpp 258 Phonon-MPlayer startConnectionChange Node: Phonon::MPlayer::MediaObject 
QP_LOGGER ../mplayer/Backend.cpp 258 Phonon-MPlayer startConnectionChange Node: Phonon::MPlayer::AudioOutput 
QP_LOGGER ../mplayer/Backend.cpp 268 Phonon-MPlayer connectNodes Phonon::MPlayer::MediaObject Phonon::MPlayer::AudioOutput 
QP_LOGGER ../mplayer/Backend.cpp 329 Phonon-MPlayer endConnectionChange 
QP_LOGGER ../mplayer/Backend.cpp 331 Phonon-MPlayer endConnectionChange Node: Phonon::MPlayer::MediaObject 
QP_LOGGER ../mplayer/Backend.cpp 331 Phonon-MPlayer endConnectionChange Node: Phonon::MPlayer::AudioOutput 
QP_LOGGER ../mplayer/MediaObject.cpp 344 Phonon-MPlayer setSource Source: "/home/dlw/Music/mxshf.mp3" 
QP_LOGGER ../mplayer/MediaObject.cpp 184 Phonon-MPlayer loadMedia "/home/dlw/Music/mxshf.mp3" 
QP_LOGGER ../mplayer/libmplayer/MPlayerConfig.cpp 40 LibMPlayer MPlayerConfig Config file: "/home/lvhuat/.config/phonon-mplayer/phonon-mplayer.conf" 
QP_LOGGER ../mplayer/libmplayer/MyProcess.cpp 69 LibMPlayer start Process started: "mplayer" "quarkplayerfakename" 
QP_LOGGER ../mplayer/libmplayer/MyProcess.cpp 155 LibMPlayer error QProcess::FailedToStart 
QP_LOGGER ../mplayer/libmplayer/MPlayerLoader.cpp 108 LibMPlayer startMPlayerVersion MPlayer process couldn't start 
QP_LOGGER ../mplayer/MediaObject.cpp 105 Phonon-MPlayer play 
QP_LOGGER ../mplayer/MediaController.cpp 356 Phonon-MPlayer subtitleAdded 
QP_LOGGER ../mplayer/MediaController.cpp 396 Phonon-MPlayer subtitleChanged New current subtitle: "None" 
QP_LOGGER ../mplayer/libmplayer/MPlayerLoader.cpp 143 LibMPlayer readMediaSettings 
QP_LOGGER ../mplayer/libmplayer/MPlayerLoader.cpp 238 LibMPlayer readMediaSettings Could not use MPlayer volume command line, your MPlayer version is too old: -1 
QP_LOGGER ../mplayer/libmplayer/MPlayerLoader.cpp 304 LibMPlayer readMediaSettings Could not disable MPlayer key bindings (shortcuts), your MPlayer version is too old: -1 
QP_LOGGER ../mplayer/libmplayer/MyProcess.cpp 63 LibMPlayer start 
QP_LOGGER ../mplayer/libmplayer/MyProcess.cpp 64 LibMPlayer start 
QP_LOGGER ../mplayer/libmplayer/MyProcess.cpp 65 LibMPlayer start 
QP_LOGGER ../mplayer/libmplayer/MyProcess.cpp 69 LibMPlayer start Process started: "mplayer" "-noquiet -slave -identify -msglevel demux=6 -framedrop -nokeepaspect -zoom -colorkey 0x020202 -monitorpixelaspect 1 -contrast 0 -brightness 0 -hue 0 -saturation 0 -prefer-ipv4 -ass -embeddedfonts -nomouseinput -sub-fuzziness 1 -include ~/.mplayer/config /home/dlw/Music/mxshf.mp3" 
QP_LOGGER ../mplayer/libmplayer/MyProcess.cpp 155 LibMPlayer error QProcess::FailedToStart 
QP_LOGGER ../mplayer/MediaObject.cpp 492 Phonon-MPlayer stateChangedInternal ErrorState

 

ARM的QT phonon 的移植的更多相关文章

  1. ARM Linux Qt 5.x.x 无标题栏

    /********************************************************************************* * ARM Linux Qt 5. ...

  2. Qt 5.8 移植编译、测试

    /****************************************************************************** * Qt 5.8 移植编译.测试 * 说 ...

  3. 基于Qt Phonon模块实现音乐播放器

    这次使用Qt实现的是一个本地音乐播放器,可以播放下载在计算机本地的音乐,提供了添加歌曲,歌曲列表,清空列表的功能.默认歌曲列表循环播放.音乐播放的实现主要依赖的是Qt 的多媒体框架phonon.该音乐 ...

  4. linux下arm平台Qt编译环境搭建与解析

    一.概述:      我们知道QTcreator.这仅仅是个IDE,他包含了一个编译器--qmake.这两者的关系与codeblocks和g++的关系一样,首先要明确这些.      而我们在linu ...

  5. 海思3559A QT 5.12移植(带webengine 和 opengl es)

    海思SDK版本:Hi3559AV100_SDK_V2.0.1.0 编译器版本:aarch64-himix100-linux-gcc 6.3.0(这个版本有点小问题,使用前需要先清除本地化设置) $ e ...

  6. arm linux串口蓝牙工具移植及使用【转】

    本文转载自:http://blog.csdn.net/hclydao/article/details/51451725 p6212中串口蓝牙在linux下的使用记录 一.linux蓝牙工具移植 主要使 ...

  7. Qt移植对USB鼠标键盘、触摸屏的支持

    .USB键盘 经过一番搜索,发现对Qt键盘的支持主要关系到两个方面: 1. 键盘类型确定: 4.7以前的Qt版本,如果是PS2圆孔键盘,Qt编译时需加上选项:-qt-kbd-vr41xx(未测试):如 ...

  8. 基于arm的嵌入式QT开发(课程设计)

    一. 项目要求 配置QT5.7基于x86及arm 等两种CPU架构的调试及开发环境: 移植arm编译后的QT5.7及屏幕校准工具tslib1.4至CORTEX ARM9实验平台: 开发基于QT5.7的 ...

  9. PC和ARM平台编译Qt的命令

    编译for PC 的Qt过程是: (1)qmake -project (qmake命令,用于创建hello.pro,将所有的文件编译成一个与平台无关的工程文件).(注意:按照前面步骤安装好Qt环境之后 ...

随机推荐

  1. 常见的java 错误--转

    Java常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明 ...

  2. Java compiler level does not match the version of the installed Java project facet.问题

    从同事那里拷贝过来的web项目,导入到eclipse中,出现Java compiler level does not match the version of the installed Java p ...

  3. MongoDB shell 格式化

    直接的方法: db.collection.find().pretty(); 如果想要所有的查询都格式化,可以执行: echo "DBQuery.prototype._prettyShell ...

  4. CentOS下的网络配置文件说明

    CentOS网络配置主要涉及到以下四个文件: 1./etc/sysconfig/network 在CentOS官方网站上给出了如下说明: The/etc/sysconfig/networkfile i ...

  5. Some thoughts on a progress

    I can feel that I am making great progress now.. if inspected closely, it is obvious that what I'm g ...

  6. Python基础教程【读书笔记】 - 2016/7/7

    希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第四波:第5章  条件.循环和其他语句 [总览]  深入介绍条件语句和循环语句,随后会看到列表推导式如何扮演循环和条件语 ...

  7. CRT:C运行库简介

    1)运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数.   2)C 语言是所谓的"小内核&q ...

  8. 51nod1369 无穷印章

    有一个印章,其完全由线段构成.这些线段的线足够细可以忽略其宽度,就像数学上对线的定义一样,它们没有面积.现在给你一张巨大的白纸(10亿x10亿大小的纸,虽然这个纸很大,但是它的面积毕竟还是有限的),你 ...

  9. SVN中的Branches分支以及Merge 应用举例

    come from: http://www.360doc.com/content/12/0816/19/1317564_230547958.shtml 创建Branch分支或者Tag标签 当按照推荐的 ...

  10. (C/C++ interview) Static 详解

    C Static http://stackoverflow.com/questions/572547/what-does-static-mean-in-a-c-program Static could ...