天天看點

QT phonon在windows下的編譯

最近需要用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

繼續閱讀