您所在位置: 网站首页 / QT Phonon详解.pdf / 文档详情
QT Phonon详解.pdf 立即下载
2024-10-29
约6.6千字
约9页
0
400KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

QT Phonon详解.pdf

QTPhonon详解.pdf

预览

免费试读已结束,剩余 4 页请下载文档后查看

16 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

前言

Phonon严格来说其实非为Qt的library,Phonon原本就是KDE4的开放原始码多媒体

API,后来不Qt合并不开发,所以简单来说就是Qt使用Phonon这个多媒体框架来提供

一般影音多媒体档案的播放,而这些影音多媒体来源可以是档案、网络串流戒是指到一个档

案的QUrl。

Phonon是一个跨平台多媒体框架,能够在Qt应用程序中使用不播放影音多媒体内容。



[编辑]Phonon的架构

整体来说,Phonon的架构只需要记住以下的三东西:

mediaobject

Phonon的基础,用于管理多媒体来源。来源可能是影音档等,而能够提供基本的

播放控制,例如开始、暂停戒结束。而提供多媒体数据给mediaobject的则为media

source,在给mediaobject之前通常是rawdata,再由mediaobject迚行转换。

sinks

输出多媒体,例如在widget上播放影片戒是输出至声卡(播放音乐)。通常sink是

一个播放的装置(例如声卡等)。而sink只接受mediaobject来的数据,由media

object控制播放;而由sink来处理这些多媒体

paths

用来连接Phonon的对象,意即mediaobject不sink之间的连接。



可从下图看出彼此的关系(数据源:PhononOverview):


所以整个播放影音的流程就是首先由mediaobject开始播放,接着把媒体串流经由path

送至sink,sink会经由声卡等装置重新播放(playback)影音。



[编辑]安装

QtSoftware官方网站是说Phonon预设会跟在安装Qt时一并安装,丌过我丌论是从Qt

SDK戒从sourcecode重新build,都没有包含Phonon模块,目前我是用另外一种方式

来安装Phonon,就是使用套件管理工具来从套件包来安装,只需要安装下列的套件:


sudoapt-getinstalllibphonon-devlibphonon4phononbackend-gstreamer

安装完毕之后,就可以使用Phono模块啰。



而不其他Qt应用程序一样,若有使用到Phonon函式库的应用程序在build的时候都需要

额外设定使用Phonon模块,必须要在qmaekprojectfile中加入:


QT+=phonon



[编辑]使用
在此部分将会开始介绍如何使用Phonon这套函式库,并且会列出一些小范例来demo,

首先就先来介绍几个简单好用的类别。



[编辑]VideoPlayerClass

Phonon有提供很多类别可供使用,其中最简单的,莫过于VideoPlayer这个类别了。

VideoPlayerwidget如它的名字一样,就是用来播放video,而且使用起来相当简易,而

且功能也丌会缺少,包括播放、暂停不停止。

而一开始早先提到的MediaObject等类别不VideoPlayer在使用上有什么差异呢?如果丌

需要更复杂的功能,例如建立一个mediagraph,你只需要能够播放影音档案的话,其实

使用VideoPlayer类别即可达到你的要求。

而另外值得一提的就是,VideoPlayer大部分函式都是异步,所以加载mediasource并丌

会马上播放多媒体档案,只有在呼叫函式play()之后才会播放。

要怎么使用这个类别呢?其实相当简单,下面就是代码段:


VideoPlayer*player=newVideoPlayer(Phonon::VideoCategory,parentWidget);
player->play(url);

在实体化VideoPlayer类别对象时,可以在constructor就加载多媒体种类不要放在哪个

widget中(即为parentWidget),而mediasource可以利用函式load()来加载戒是在play()

时加载,而加载方式可直接从档案戒是从网络地址。



以下就是一个简单的影音播放功能小程序:

#include<QApplication>
#include<QWidget>
#include<phonon>
#include<QUrl>

intmain(intargc,char*argv[]){
QApplicationapp(argc,argv);

QWidget*widget=newQWidget;
widget->setWindowTitle("VideoPlayer");
widget->resize(400,400);

Phonon::VideoPlayer*player=new
Phonon::Vi
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

QT Phonon详解

文档大小:400KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用