Qt Phonon介绍及安装
phonon最初是一个源于KDE的项目,为使用音频和视频的应用程序开发提供的一个框架。多媒体文件的播放主要过程包括:文件读取、分流、解码、输出。而且还得需要安装相应的后端插件来完成播放任务。
应用程序与phonon库及后端的关系如下:
如果想要运行使用Qt中的phonon写的程序,需要满足一下条件:Qt基本库、Qt phonon库、phonon_backend(后端插件)和多媒体播放后台。
下面以linux(Fedora 12)系统、Qt 4.6、mplayer为例,假设Qt基本库已经安装好,默认phonon是没有被安装的,介绍phonon和后端插件的安装。
Phonon库安装:
进入源代码的phonon目录,如
"/usr/src/qt-everywhere-opensource-src-4.6.0/src/phonon",
实际代码并不在里面,从phonon.pro文件可知源代码在
“/src/3rdparty/phonon/phonon”,
但并不影响编译。在终端输入“make;make install”即可,如果安装时出错,也可手动将lib、include下相关文件拷贝到安装目录。
后端插件安装:
(1)下载phonon-mplayer。
地址:
https://www.360docs.net/doc/8f14839937.html,/trunk/playground/multimedia/phonon-backends/mplayer/
使用svn下载:
svn co svn://https://www.360docs.net/doc/8f14839937.html,/home/kde/trunk/playground/multimedia/phonon-backends/ mplayer
(2)返回phonon-mplayer目录,编译(qmake;make)生成phonon_backend/libphonon_mplayer.so动态链接库。
(3)将libphonon_mplayer.so拷贝到$QTDIR/plugins/phonon_backend/
说明:帮助文档中介绍Linux下Qt默认只支持gstreamer,其它的不做保证。但实际中由于mplayer安装比较方便,支持的文件格式全,使用的人也非常多,所以我以mplayer为例。而gstreamer的后端插件可以在系统的“/usr/lib64/kde4/plugins /phonon_backend”目录直接找到(如果已经从源上安装
了的话)。
测试
examples/phonon/qmusicplayer下的例子用mplayer做后端播放音乐会有问题,我使用demos/qmediaplayer。
当然也可以用一个简单的例子,如下:
#include
#include
#include
#include
int main(int argv, char **args)
{
QApplication app(argv, args);
Phonon::MediaObject *music =
Phonon::createPlayer(Phonon::MusicCategory,
Phonon::MediaSource("/home/dlw/Music/mxshf.mp3"));
music->play();
/* 视频播放
Phonon::MediaObject *music =
Phonon::createPlayer(Phonon::VideoCategory,
Phonon::MediaSource("/media/DLW/movie/One.Night.in.Supermarket.avi"));
music->play();*/
return app.exec();
}