最近需要用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 = ../../../3rdparty/phonon/ds9
大功告成,可以测试下qt自带的mediaplayer demo。
同时感谢网友的无私共享,所以我将此文发布,希望遇到这篇文章的同志可以少走弯路。
转帖请注明 http://hi.baidu.com/armlinuxhouse/blog/item/0eb3f2b5f41cb3f831add19a.html