深海的小鱼儿

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

最近需要用windows下的qt写一些界 面,里面用到qt的多媒体框架phonon,我用的是qt- 4.5.3。从官网上下载安装的qt本身并没有把phonon集成进去,只是提供了源码。自己在编译phonon时遇到一些问题,网上相关讨论不少,但很 少是关于windows下phonon的编译的,所以我在这把我编译phonon的过程系统的描述下,希 望能帮到大家。
假设qt的安装目录是xx
一、编译安装phonon
1 . 此时用xx\qt\src\phonon\phonon.pro工程,编辑phonon.pro
PHONON_DIR=../3rdparty/phonon/phonon
2 . 编译出debug和release版本,此时会在xx\qt\lib下生成 libphonon4.a,libphonond4.a,phonon4.dll,phonond4.dll,在xx\qt\bin下会生成 phonon4.dll,phonond4.dll。
(注意:在编译某些qt自带的demo和example时,需要的库名字是libphonon.a,你只要改下名 字就行了,把上述提到的4个文件中的4去掉) //注最好是复制一份。
二、编译生成phonon_backend (xx\qt\plugins)
1 . 去KDE svn上下载kdewin32 package
http://websvn.kde.org/trunk/kdesupport/kdewin/
svn://anonsvn.kde.org/home/kde/trunk/kdesupport/kdewin    //自己去下载window下的svn吧,这里找 http://subversion.apache.org/packages.html 
下载命令svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/kdewin
2 . 拷贝kdewin/include/mingw/comdef.h 到kdewin/include/directx/文件夹下
3 . 到xx\qt\src目录下,编辑src/plugins/phonon/ds9/ds9.pro,加入下面一行INCLUDEPATH+=<your directx path>
4 . 这时使用qt\src\plugins\phonon\phonon.pro 工程文件,并修改此文件
SUBDIRS = ds9
5 .删除文件videorenderer_vmr9.cpp 第172行
SetAspectRatioMode(VMR9ARMODE_NONE);
6 .同第一步骤中的第二条。这时会在xx\qt\plugins下生成phonon_backend 目录。//还是编辑qt\src\plugins\phonon\phonon.pro  编译成功后,是生成插件,让你选择可执行文件的框,但不一定会在plugins下生成,可能是pro里的环境变量未设定,你要自己指定。
#PHONON_DS9_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/ds9

PHONON_DS9_DIR = http://www.cnblogs.com/../3rdparty/phonon/ds9

大功告成,可以测试下qt自带的mediaplayer demo。
同时感谢网友的无私共享,所以我将此文发布,希望遇到这篇文章的同志可以少走弯路。

posted on 2011-02-26 12:51  深海的小鱼儿  阅读(3657)  评论(0编辑  收藏  举报