如何使用 Qt Phonon 前言 Phonon严格来说其实非为Qt的library,Phonon原本就是KDE 4的开放原始码多媒体API,後来与Qt合并与开发,所以简单来说就是Qt使用Phonon这个多媒体框架来提供一般影音多媒体档案的播放,而这些影音多媒体来源可以是档案、网路串流或是指到一个档案的QUrl
Phonon是一个跨平台多媒体框架,能够在 Qt应用程式中使用与播放影音多媒体内容
Phonon的架构 整体来说,Phonon的架构只需要记住以下的三东西: media object Phonon的基础,用於管理多媒体来源
来源可能是影音档等,而能够提供基本的播放控制,例如开始、暂停或结束
而提供多媒体资料给 media object的则为media source,在给 media object之前通常是raw data,再由 media object进行转换
sinks 输出多媒体,例如在 widget上播放影片或是输出至音效卡(播放音乐)
通常 sink是一个播放的装置(例如音效卡等)
而sink只接受 media object来的资料,由media object控制播放;而由 sink来处理这些多媒体 paths 用来连接 Phonon的物件,意即 media object与sink之间的连接
可从下图看出彼此的关系(资料来源:Phonon Overview): 所以整个播放影音的流程就是首先由 media object开始播放,接著把媒体串流经由 path送至 sink,sink会经由音效卡等装置重新播放(play back)影音
安装 QtSoftware官方网站是说 Phonon预设会跟在安装 Qt时一并安装,不过我不论是从 Qt SDK或从 source code重新 build,都没有包含 Phonon模组,目前我是用另外一种方