Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2121921
  • 博文数量: 229
  • 博客积分: 7217
  • 博客等级: 上校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 17:23
个人简介

个人主页https://xugaoxiang.com,微信公众号: Dev_Club 或者搜索 程序员Club

文章分类

全部博文(229)

文章存档

2017年(1)

2016年(20)

2015年(23)

2013年(1)

2012年(23)

2011年(68)

2010年(62)

2009年(31)

分类: LINUX

2011-11-02 20:07:17

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

代码片断
  1. /*
  2.  * =====================================================================================
  3.  *
  4.  * Filename: main.cpp
  5.  *
  6.  * Description:
  7.  *
  8.  * Version: 1.0
  9.  * Created: 10/07/2011 11:04:04 PM
  10.  * Revision: none
  11.  * Compiler: gcc
  12.  *
  13.  * Author: djstava (), djstava@gmail.com
  14.  * Company: ABC Inc
  15.  *
  16.  * =====================================================================================
  17.  */
  18. #include <QApplication>
  19. #include <QWidget>
  20. #include <phonon>
  21. #include <QUrl>

  22. int main(int argc,char **argv)
  23. {
  24.     QApplication app(argc, argv);

  25.     /*
  26.     Phonon::MediaObject *music = Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource("i will be your shelter.mp3"));
  27.     music->play();
  28.     */
  29.     Phonon::MediaObject *video = Phonon::createPlayer(Phonon::VideoCategory,Phonon::MediaSource("test.rmvb"));
  30.     video->play();

  31.     app.exec();

  32. }
pro文件
QT += phonon

播放效果
阅读(6123) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~