QT中phonon的安装和使用
http://write.blog.csdn.net/postedit
Phonon严格来说其实非为Qt的library,Phonon原本就是KDE 4的开放原始码多媒体API,後来与Qt合并与开发,所以简单来说就是Qt使用Phonon这个多媒体框架来提供一般影音多媒体档案的播放,而这些影音多媒体来源可以是档案、网路串流或是指到一个档案的QUrl。
Phonon是一个跨平台多媒体框架,能够在Qt应用程式中使用与播放影音多媒体内容。
通过"qt-sdk-linux-x86-opensource-2009.05.bin"安装的QT SDK是不包含phonon的。但是一般KDE的桌面系统会安装phonon,以便提供给amarok等应用程序使用。可以通过ldd /usr/bin/amarok,查看。
要安装phonon,需要QT SDK的源码包,qt-everywhere-opensource-src-4.6.0.tar.gz。解压之。
tar zxvf qt-everywhere-opensource-src-4.6.0.tar.gz
cd qt-everywhere-opensource-src-4.6.0
./configure
make(时间很长,编了3个小时没搞定,强制退出了。幸运的是phonon中可以make了。)
cd src/phonon
make
cp ../../lib/libphonon.* ~/bin/dev/qtsdk/qt/lib
ok
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();
}
当然你也可以直接下载 我编译好的lib。libphonon.so.4.3.1http://download.csdn.net/source/2492092
然后解压拷贝到QT SDK的lib中。如 ~/bin/dev/qtsdk/qt/lib,或者 /opt/qtsdk-2009.05/qt/lib。就是你通过qt-sdk-linux-x86-opensource-2009.05.bin安装是选择的目录。
QT中phonon的安装和使用的更多相关文章
- 安装GDB-ImageWatch ,在QT中查看图像
GDB_ImageWatch是在Linux下基于QT编写图像处理程序的调试程序. 由于并非像ImageWatch一样由官方提供,而是在github上以代码的方式进行提供,我们在使用的时候需要自己编译, ...
- 如何在Qt中处理(接收/发送)MFC或Windows消息(直接覆盖MainDialog::nativeEvent,或者QApplication::installNativeEventFilter安装过滤器,或者直接改写QApplication::nativeEventFilter)
关于接收: Receive WM_COPYDATA messages in a Qt app. 还有个中文网站: 提问: 如何在Qt中模拟MFC的消息机制 关于发送: 用Qt在Windows下编程,如 ...
- 第39课 Qt中的事件处理(下)
1. 事件的传递过程 (1)操作系统检测到用户动作时,会产生一条系统消息,该消息被发送到Qt应用程序 (2)Qt应用程序收到系统消息后,将其转化为一个对应的QEvent事件对象,并调用QObject: ...
- Windows平台下Qt中glut库的使用
用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符 ...
- QT中QProcess调用命令行的痛苦经历
在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...
- Qt入门(9)——Qt中的线程支持
Qt对线程提供了支持,基本形式有独立于平台的线程类.线程安全方式的事件传递和一个全局Qt库互斥量允许你可以从不同的线程调用Qt方法.警告:所有的GUI类(比如,QWidget和它的子类),操作系统核心 ...
- Qt 中如何捕获窗口停用和激活的消息
最近一直在用Qt做一个简单的俄罗斯方块的游戏,由于要实现一个暂停游戏的功能,就是当鼠标移出正在运行的游戏,点击电脑桌面上的其他位置时,这个时候游戏暂停.在这里把实现过程简单的记录一下,作为一个学习笔记 ...
- 在QT中使用Irrlicht引擎的方法与步骤
Ø 相关库,插件安装部分 本篇文档介绍在Qt5.2.0下面使用lrrlicht引擎在Qt窗口中输出(开发环境:vs2012) 1. 首先安装好Qt5.2.0,下载地址: http://downlo ...
- QT中使用Glut库
用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符 ...
随机推荐
- 七、Dockerfile案例三(Mysql安装)
七.Dockerfile案例三(Mysql安装) *特别提醒:新版的mysql:5.7数据库下的user表中已经没有Password字段了(5.5的user表还有) 一.查看docker hub上的版 ...
- SharePoint服务器端对象模型 之 使用CAML进行数据查询
(一)概述 在SharePoint的开发应用中,查询是非常常用的一种手段,根据某些筛选.排序条件,获得某个列表或者某一些列表中相应的列表条目的集合. 除去列表上的查询之外,在SharePoint中还大 ...
- jetty 通过配置文件嵌入式启动web服务
定义 jetty.xml 启动文件 <?xml version="1.0"?><!DOCTYPE Configure PUBLIC "-//Jetty/ ...
- POJ 1125 Stockbroker Grapevine【floyd简单应用】
链接: http://poj.org/problem?id=1125 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- python系列十四:Python3 文件
#!/usr/bin/python #Python3 文件 from urllib import requestimport pprint,pickle'''读和写文件open() 将会返回一个 fi ...
- 我的Android进阶之旅------>HTTP Content-type 对照表
HTTP Content-type 对照表 文件扩展名 Content-Type(Mime-Type) 文件扩展名 Content-Type(Mime-Type) .*( 二进制流, 不知道下载文件类 ...
- 怎样解决Please ensure that adb is correctly located at......
昨天下午搭建了Android开发环境,但是天公不作美--执行新建的Android项目总是提演示样例如以下问题: [2014-10-30 15:41:47 - ] The connection to a ...
- asp.net 站点公布
asp.net 站点公布 1.安装并打开IIS. 2.用visual studio创建站点,文件夹为d:\website\website1 3.IIS中加入站点,站点名称必填.物理路径与已有的相应好. ...
- 解决You are using pip version 9.0.1, however version 9.0.3 is available. You should consider upgra
直接运行命令:python -m pip install --upgrade pip
- python中json.dumps使用的坑以及字符编码
我们知道,python中的字符串分普通字符串和unicode字符串,一般从数据库中读取的字符串会自动被转换为unicode字符串 下面回到重点,使用json.dumps时,一般的用法为: >&g ...