Qt Phonon介绍及安装

13 篇文章 0 订阅


 


 

Qt Phonon介绍及安装

 

目前在Qt 4.6中实现多媒体播放图形界面主要依赖于phonon框架,其实qt中还有一个Multimedia模块,帮助文档中对它的描述是:实现底层的多媒体播放功能,在一般情况下上层的接口phonon模块更适合实现这些功能。在官方博客上了解到Qt有放弃phonon的打算,将多媒体的功能放到正在进行的Mobility项目中实现。先不管那么多了吧,至少目前我们还只能选择phonon,那就先了解一下吧。

 

phonon最初是 一个 源于KDE的项目,为使用音频和视频的应用程序开发提供的一个框架。应用程序不用去管多媒体播放是通过什么实现的(如gstreamer、xine),只需调用相应的接口就行,但这中间需要一个中转,被称为backend。Qt也是通过phonon来实现夸平台的多媒体播放。

 

多媒体文件的播放主要过程包括:文件读取、分流、解码、输出。

这些在不同的系统中实现方式不同,如windows下的DirectX、Linux下的 gstreamer或xine及Mac下的QuickTime。 而Qt中的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。

        地址: http://websvn.kde.org/trunk/playground/multimedia/phonon-backends/mplayer/

        使用svn下载: svn co svn://anonsvn.kde.org/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 <QtGui>

#include <Phonon/MediaObject>

#include <Phonon/VideoPlayer>

#include <Phonon/BackendCapabilities>

 

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();

}

 

本文转载:http://blog.csdn.net/marxdenl/archive/2009/12/04/4939267.aspx

 
http://www.qtcn.org/bbs/read.php?tid=25331

 
sudo apt-get install libphonon4 libphonon-dev
phonon安装路径是/usr/lib/kde4
编译时还是提示找不到Phonon
在.pro里也加了QT += phonon

请问
如何设置 可以在.pro文件里加QT+=phonon就可以直接调用?

 

INCLUDE PATH +=/usr/lib/kde4/include    这样设置了还是提示找不到头文件

libphonon-dev  包含的头文件的路径在,添加相应的INCLUDEPATH即可
/usr/include/qt4/phonon/phonon


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值