Skip to content

[已解決] 使用 PyQt5 播放影片時遇到: DirectShowPlayerService::doRender: Unresolved error code 0x8040266 (IDisspatch error #102)

Last Updated on 2021-05-12 by Clay

今天在使用 PyQt5 進行播放影片的測試時,使用 QMediaPlayer 必定會遇到以下這個報錯:

DirectShowPlayerService::doRender: Unresolved error code 0x8040266 (IDisspatch error #102)

查詢了幾個網站以後,終於在 so 當中找到了比較堪用的討論: https://stackoverflow.com/questions/53328979/directshowplayerservicedorender-unresolved-error-code-0x80040266

基本上,大意便是 PyQt5 當中的 QMediaPlayer 使用的後端僅能支援 avi 檔,並不支援 mp4。

為了解決這個問題,我們必須下載支援的解碼器並安裝,我們可以選擇的有 K-lite codecs 和 LAV Filters,在此我示範安裝 K-lite。


K-lite 安裝

首先來到 K-lite codecs 官網下載。

選擇 Normal installer 即可。

選擇 Download Basic。

選擇 Mirror 1 下載。

下載好後雙擊執行程式,只要一直選擇 Next,就會裝好了。

然後我們再次執行我們剛剛報錯的檔案。

看起來可以正常播放了!

Leave a Reply