Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(一)视频无法播放
Qt 例子工程 Media Player Example 應用過程中出現的問題(一)視頻無法播放
轉載請標明出處。
Qt播放視頻報錯 DirectShowPlayerService::doRender: Unresolved error code 0x80040266
Qt 中的多媒體播放,底層是使用DirectShowPlayerService,所以安裝一個DirectShow解碼器,就可以解決運行出錯問題。
博主首先按照別的博客的方法,安裝了LAV Filters(LAVFilters下載鏈接:installer方式直接按步驟安裝壓縮包方式解壓右鍵以管理員運行 install_video.bat 文件),但是仍然無法播放。然后搜索了各種方法,均無法解決,但是我覺得可能和使用的電腦型號和windows版本有關,博主另一臺電腦上就可以運行成功,linux系統下不用安裝解碼器也可以成功。所以將搜集到的未成功的方法也列出來,可能對大家會有幫助。
①播放視頻的 QWidget 設置, widget->setAttribute(Qt::WA_OpaquePaintEvent);
避免任何不必要的過度重繪背景;
②視頻播放時調用 widget->setUpdatesEnabled(false),設置Widget不刷新。
③播放結束之后調用 widget->setUpdatesEnabled(true),設置Widget刷新。
然后博主嘗試安裝了另一個解碼器,因為看到有評論說這個解碼器功能更強大。結果就大功告成了。k-lite解碼器安裝鏈接。安裝的時候會提醒卸載LAV Filters,照做即可,安裝步驟可參考該鏈接。
總結一下:
windows系統下Qt Mediaplayer無法播放視頻原因為缺少解碼器,推薦選擇:K-Lite。
原因:LAV Filters和K-Lite兩款軟件均采用Lav 算法,但LAV Filters 軟件效果較差,總容易出現花屏現象。卸載LAV Filters,再安裝K-Lite后,問題解決,視頻流利播放。
總結
以上是生活随笔為你收集整理的Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(一)视频无法播放的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux忘记密码(登陆和root)
- 下一篇: 实现 复制淘宝的口令进入app 进入活动