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. 前端js上传文件 到后端接收文件

    下面是前端js代码: <html> <head> <meta http-equiv="Content-Type" content="text ...

  2. 每日学习心得:SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)

    2013-8-20 1.    SQL查询表的行列转换/小计/统计(with  rollup,with cube,pivot解析) 在实际的项目开发中有很多项目都会有报表模块,今天就通过一个小的SQL ...

  3. Android Intent 用法全面总结

    [代码全屏查看]-Android Intent 用法全面总结 // [1].[代码] 调用拨号程序 跳至 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] / ...

  4. Hibernate 抓取策略fetch-2 (批量抓取batch-size以及hibernate.jdbc.fetch_size、hibernate.jdbc.batch_size)

    类关系: User N~1 Group 测试代码: System.out.println("1"); List stuList = session.createQuery(&quo ...

  5. 【linux】man和--help

    man和--help都是获取命令帮助的指令. man 格式: man [命令] [root@andon tmp]# man pwd --help 命令 --help [root@andon tmp]# ...

  6. 【ntp】centos7下ntp服务器设置

    安装ntp #检查服务是否安装 rpm -q ntp #安装ntp服务器 yum -y install ntp 修改配置文件:/etc/ntp.conf 内容如下: restrict default ...

  7. linux系统中rsync+inotify实现服务器之间文件实时同步

    最近需要对服务器上的文件实施动态备份,我又不想每次都手动来进行备份,在网上找了挺多资料,发现使用rsync就可以实现,如果想要实现实时同步,还可以使用rsync+inotify组合,本文就是以组合方式 ...

  8. jfinal配置rails的数据表

    鉴于rails的部署太可怕,所以有了使用rails的建表工具和migration,用jfinal来开发的想法,在此贴一下需要注意的地方 maven配置 <dependency> <g ...

  9. 获得Unix/Linux系统中的IP、MAC地址等信息

    获得Unix/Linux系统中的IP.MAC地址等信息 中高级  |  2010-07-13 16:03  |  分类:①C语言. Unix/Linux. 网络编程 ②手册  |  4,471 次阅读 ...

  10. [系统集成] Android 自动构建系统

    一.简介 android app 自动构建服务器用于自动下载app代码.自动打包.发布,要建立这样的服务器,关键要解决以下几个问题: 1. android app 自动化打包android 的打包一般 ...