打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
图解Phonon - lizzy115的日志 - 网易博客
userphoto

2010.04.07

关注

Phonon是什么?Qt从4.4版本开始提供的一套多媒体框架,提供多媒体回放的功能。

很多人听了很高兴:我的毕业设计有谱了!我正做嵌入式播放器呢!这下什么事都解决了,Qt自带了呢!

先别高兴太早,看下图了解Qt给我们的Phonon到底是怎么样个东西?

双击图片可留言~

看完上图,你就可以知道,应用Phonon框架实质上分为4个部分,你的程序,Phonon库,Phonon后端插件(phonon_backend),真正的后端。

Phonon其实什么都不干,他只是提供了一套API接口,这套接口可以给你的程序调用,同时也是给编写后端插件提供一个规范。程序完全不知道最后谁来放我的Mp3,谁来解码我的视频,播放的又是哪个设备。

同样,Phonon库也不知道,他只管搜索符合自己规范的插件。并告诉这些插件,现在程序发出的指令是什么,从插件返回给程序现在的媒体状态和信息。

而后端才是实际进行读入媒体、解码并且播放的部分,他们和后端插件是一一对应的。后端可以是任何形式,只要你写出了相应的后端插件。

所以,你要使用Phonon必需要先做3件事:

  1. 编译你的Phonon库:通常情况下,Qt默认没有编译,你只需要configure后加好参数,然后单独进入phonon的文件夹进行编译就可以了
  2. 编译你的Phonon后端插件:Qt为3大平台分别提供了一个可用的后端插件,放在src\plugins\phonon目录下。进入目录编译即可,Qt会自动选择你当前系统的后端插件的。(出现phonon backend plugin could not be loaded就是这步没有做)

     

    如果你是MinGW用户,那抱歉了,Windows下Qt只提供了DirectShow这个后端插件,而这个后端插件因为调用了DX的SDK,所以只能由VC编译。当然你其实有更好的选择,比如这个phonon-vlc-mplayer插件,通过他,你可以将mplayer作为你的后端,彻底抛弃臃肿的VS以及读ID3v2都会出错的DirectShow(其实也不能怪DirectShow,DirectShow同样只是个框架,解码还靠系统里安的解码器、滤镜们,我用的播放器都太绿色了,于是DirectShow就很弱)

  3. 你要保证你的后端正常运作:对于Qt提供默认提供插件的后端来说,基本不成问题。但要是你想做嵌入式播放器?恩,很大的问题。据做过GStreamer移植的人反映,这事恼火的很。想做Qt嵌入式播放器的还是老老实实的QProcess+Mplayer slave模式吧!(新的Qt4.5说是提供了CE上的DirectShow后端插件,有兴趣的可以去试试看)

 

以上3点做完,你就可以拿demo里那个mediaplayer去测试了,测试成功的话,你就可以非常容易的用Qt实现你自己的媒体回放了。想要更高级的操作,比如编码、混音、储存媒体文件?呵呵,等Phonon慢慢更新吧,现在来说,Phonon还只是个什么都不能干的传声筒。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
phonon-mplayer
Qt在linux下调用phonon出现的问题解决办法
QT 安装phonon
QT在windows上发布之所需运行库(一)
提供arm和linux入门资料,项目资料,linux驱动资料共享咯·
visual studio 2010
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服