ARM的QT phonon 的移植

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

 

时间: 2024-10-18 09:58:07

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

Qt phonon多媒体框架(Phonon只是一个空的容器)

Phonon是什么?Qt从4.4版本开始提供的一套多媒体框架,提供多媒体回放的功能.目前在Qt 4.6中实现多媒体播放图形界面主要依赖于phonon框架,其实qt中还有一个Multimedia模块,帮助文档中对它的描述是:实现底层的多媒体播放功能,在一般情况下上层的接口phonon模块更适合实现这些功能.phonon最初是 一个 源于KDE的项目,为使用音频和视频的应用程序开发提供的一个框架.应用程序不用去管多媒体播放是通过什么实现的(如gstreamer.xine),只需调用相应的接口就行,但

opencv在arm和x86上的移植

一.开发环境 操作系统:fedora14 Opencv版本:2.0 Qt版本:4.7 arm:mini6410 交叉编译工具:arm-linux-gcc-4.5.1 二.安装与配置 Linux系统的安装,交叉Qt-creator的安装还有交叉编译工具的安装,网上说的基本都没什么问题,测试后都可以用.这里安装Qt-Creator遇到了一点小问题,按照网上的和mini6410开发手册上的安装方法太复杂了,用QtSdk-offline-linux-x86-v1.2.1.run安装方便又准确. 这篇文章

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

/********************************************************************************* * ARM Linux Qt 5.x.x 无标题栏 * 说明: * 以前Qt 4.x.x版本是直接有标题栏,但现在的Qt 5.x.x没有了标题栏,从参考文章里 * 可以看出,是需要另外移植窗口管理器的. * * 2017-1-6 深圳 南山平山村 曾剑锋 ***************************************

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

这次使用Qt实现的是一个本地音乐播放器,可以播放下载在计算机本地的音乐,提供了添加歌曲,歌曲列表,清空列表的功能.默认歌曲列表循环播放.音乐播放的实现主要依赖的是Qt 的多媒体框架phonon.该音乐播放器的开发环境是Qt4.8.5+Qtcreator2.8.0. 音乐播放器界面如下: 主界面 歌曲列表 一.使用Qt Phonon框架播放音乐 想要写一个音乐播放器,最基本的当然就是要知道使用这个框架来播放音乐以及一些基本的播放控制比如暂停.停止.下一首等.只有知道了这些基本的东西,后面才可以将界

Opencv交叉编译到ARM(基于Qt)

*:前提是Qt交叉编译已经完成,并能正常使用. 1.下载Opencv2.2.0并解压,在解压后的目录下新建一个release目录. 2.安装cmake和cmake-gui. 3.执行命令:cmake-gui 错误提示和解决: Issue 2. ImportError: No module named sphinx: Just copy the following line, then this problem disappear. yum install python-sphinx Issue

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

一.概述: ???? 我们知道QTcreator.这仅仅是个IDE,他包含了一个编译器--qmake.这两者的关系与codeblocks和g++的关系一样,首先要明确这些. ???? 而我们在linux下搭建arm平台的QT编译环境,基本的是要使用适合arm的qmake.正如我们编译在arm上使用c++程序时要用arm-none-linux-gnueabi-g++一样.而qmake仅仅是我们使用的工具,自然不须要也不能换.所以我们仅仅要使用arm-none-linux-gnueabi-g++编译

arm linux串口蓝牙工具移植及使用

ap6212中串口蓝牙在linux下的使用记录 一.linux蓝牙工具移植 主要使用到的工具及相关库如下: bluez-libs-3.36 libxml2-2.7.4 dbus-1.0.2 glib-2.24.2 bluez-utils-3.36 openobex-1.5 下载相应的源码解压,按照上面的顺序进行编译. bluez-libs-3.36中增加mk.sh内容如下 #!/bin/sh ./configure --prefix=/usr/bluez --host=arm-linux --t

QT开发之移植qt5.6.2到S5PV210

1.移植前的准备工作 (1)确认已经烧录uboot,并设置环境变量bootcmd和bootargs从tftp.nfs启动: (2)zImage事先编译好的,文件夹形式的rootfs准备好,成功启动内核进入命令行: (3)ts驱动源码确认添加.设备文件确认OK(dev/input/event2)(cat dev/input/event2  点击触摸屏有乱码打印出来); 2.tslib移植和测试 (1)源码下载 (2)解压    tar -xvf tslib-1.4.tar.gz (3)配置 cd

移植Qt与Tslib到X210开发板的体会

1.将QT移植到X210上,让X210开发板可以运行QT东西,需要几个东西.tslib QT源码编译后的lib库等 (1)tslib移植: @1:下载tslib,官方上下就可以. @2:解压.比如解压到了/root/xin_210/下 @3:选择固定的交叉编译工具连,内核,tslib,QT源码都要用这一个编译,我用的是arm-2009q3.这个工具链中的arm-none-linux-gnueabi/libc/usr/include/linux/input.h中的EV_VERSION宏的的值要和内