Phonon是QT提供的一套多媒体框架,提供多媒体播放图形界面和回放的功能,QT也是通过phonon来实现跨平台的多媒体播放。应用程序不需要关心多媒体播放到底是由什么实现的(如gstreamer、xine、mplayer),其应用框架实质上可以分为三部分:phonon、phonon_backend和播放后端,后端才是真正读取媒体、解码和播放的部分。QT中自带的phonon_backend是phonon_gstreamer,本文为了实现mplayer为播放后端,phonon_backend用的是phonon_mplayer。
Qt配置
./configure -debug -opensource -confirm-license -phonon -phonon-backend
phonon_mplayer
git clone git://anongit.kde.org/phonon-mplayer
cd phonon-mplayer/mplayer
qmake
make
sudo cp phonon_backend/libphonon_mplayer.so /usr/local/Trolltech/Qt-4.7.3/plugins/phonon_backend/
Mplayer的安装
sudo apt-get install mplayer
代码片断
- /*
-
* =====================================================================================
-
*
-
* Filename: main.cpp
-
*
-
* Description:
-
*
-
* Version: 1.0
-
* Created: 10/07/2011 11:04:04 PM
-
* Revision: none
-
* Compiler: gcc
-
*
-
* Author: djstava (), djstava@gmail.com
-
* Company: ABC Inc
-
*
-
* =====================================================================================
-
*/
-
#include <QApplication>
-
#include <QWidget>
-
#include <phonon>
-
#include <QUrl>
-
-
int main(int argc,char **argv)
-
{
-
QApplication app(argc, argv);
-
-
/*
-
Phonon::MediaObject *music = Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource("i will be your shelter.mp3"));
-
music->play();
-
*/
-
Phonon::MediaObject *video = Phonon::createPlayer(Phonon::VideoCategory,Phonon::MediaSource("test.rmvb"));
-
video->play();
-
-
app.exec();
-
-
}
播放效果
阅读(6142) | 评论(0) | 转发(0) |