2011-12-07 43 views
4

部署到乾淨的機器後,我的應用程序出現問題。這些是運行應用程序的結果:Qt + Phonon:在某些計算機上無法播放

  1. Win7家庭:節目播放WMV ffdshow的安裝後,MP3。
  2. Vista家庭:在安裝ffdshow的,它播放MP3,但不wmv文件
  3. WinXP的(無服務包):不播放WMV,MP3,即使安裝ffdshow的。該程序可以找到38個後端,其中包括mp3和wmv。它確實播放wav文件。
  4. 即使在ffdshow中禁用了許多格式,在構建項目的計算機上,所有內容都可以正常播放。

plugins文件夾除了exe文件外,還包含一個phonon_backends文件夾和phonon_ds94.dll。

有人可以解釋我如何使程序播放文件在沒有安裝Qt的計算機上?

回答

1

我要做的第一件事就是給Dependency Walker一試。我會用上面詳述的所有已部署狀態運行它,並查看每種情況下應用程序使用的dll之間是否存在差異。

+0

哦,是的,我忘了這個工具了。好主意!謝謝,我會在今晚發佈更新。 – mimic

+0

好的,我在exe文件上運行了DW。一切看起來不錯,但有幾件奇怪的事情: 1)它沒有在樹中顯示qtopengl4.dll。 2)它顯示IESHIM.dll是必需的。 這不是什麼意思,現在該怎麼辦?也許我錯了?我不確定我是否理解了你對不同國家的想法。我剛剛在dll上運行並查看依賴關係樹。 – mimic

2

我不確定mp3文件沒有播放,但是您是否還記得在不播放視頻的機器上部署QtOpenGL4.dll?在Windows上,the Phonon backend relies on this DLL只會靜靜地坐在那裏,當它不存在時什麼也不做。

Sjwarner的建議嘗試Dependency Walker是一個很好的建議,特別是在這種情況下,插件DLL動態加載。

+0

哦,我真的忘了OpenGL ......是的,可能它會解決問題......我將能夠在晚上檢查這個解決方案,我會更新。謝謝! – mimic

+0

只是添加這個文件沒有幫助。其他文件存在。我將與依賴者步行者一起找出什麼是不存在的。 – mimic

+0

只是要確定...是名爲「phonon_backend」或「phonon_backends」的文件夾? (看你的問題)最後應該沒有's'。我相信這是一個錯字,但我必須問。 – Bart

0

我有這個確切的問題,我通過安裝編解碼器包來解決它。這是我使用的一個:K-Lite Mega Codec pack(請確保不要在最後安裝兩個瀏覽器插件)