2014-06-13 224 views
1

我一直在玩DSPack,它可以播放avi和wmv文件,但它不能播放mp4文件。我已經安裝了ffdshow編解碼器,但它仍然不會播放任何其他格式。我在某處閱讀我需要使用ffdshow過濾器,但是如何做到這一點的文檔非常有限...有人可以幫助我嗎?Delphi:使用DSPack播放mp4文件

編輯

那是錯誤播放任何其他格式

raised exception class EDirectShowException with message 'C ($80040265).'. Process stopped. Use Step or Run to continue. 

,當我拿到那它彈出異常

function CheckDSError(HR: HRESULT): HRESULT; 
    var Excep: EDirectShowException; 
    begin 
    Result := HR; 
    if Failed(HR) then 
    begin 
     Excep := EDirectShowException.Create(format(GetErrorString(HR)+' ($%x).',[HR])); 
     Excep.ErrorCode := HR; 
     raise Excep; 
    end; 
    end; 

編輯功能 我安裝了哈利解複用器,它是一個自我安裝者ter安裝我仍然得到相同的錯誤。和gdcl解複用器,這些是兩個dll文件,有關如何使用它們的任何建議?

PS:我從來沒有與編解碼器和/或這種東西的工作,所以對不起,這麼厚,我使用的是Windows 7 64位系統

+0

如何構建過濾器圖形?如果自動,那麼只需安裝FFDShow過濾器即可。 – TLama

+0

我只是把Filtergraph和videowindow放在窗體上,將濾鏡圖片鏈接到視頻窗口並調用渲染文件...我從來沒有使用過濾器和東西,所以我不知道什麼是什麼。你能告訴我如何設置過濾器圖自動選擇ffdshow,因爲我已經安裝了FFDShow並且它不工作 –

+0

爲什麼downvote? –

回答

1

我可以順利播放* .mp4文件與「DSVideoWinDowEx \ PlayWin「演示應用程序,附帶DSPack。 Windows 7包含mp4編解碼器,所以這不應該成爲問題。確保你沒有在調試模式下運行應用程序,因爲如果調試器處於活動狀態,許多編解碼器就會拒絕工作。

Haalie Media Splitter不用於我的測試* .mp4文件。但它使用AC3Filter。所以你的問題也可能是缺少音頻編解碼器。

如果這樣不能解決問題,那麼問題可能是:「爲什麼它不能在你的電腦上工作?」 爲了進一步縮小問題,請嘗試使用GraphEdit或GraphStudio播放視頻,看看是否有效。這些工具還將顯示使用的過濾器圖形。您還可以顯示DSPack應用程序中使用的FilterGraph。

如果您在系統上安裝了DirectShow過濾器(編解碼器),它將由DirectShow/DSPack自動使用。您可以通過調用regsvr32 "path_to_codec.ax"手動在系統中註冊過濾器,但這通常由安裝程序完成。可以在DirectShow中手動使用過濾器,但大多數情況下不需要。

1

lavfilters提供了源碼分離器和解碼器所需的一切。它是開源的,積極開發並基於ffmpeg。如果安裝lavfilters後無法播放mp4,那麼我會說mp4本身存在問題。在這種情況下,請使用類似ffprobe的內容來檢查文件或發佈文件鏈接。