2015-09-07 29 views
0

使用Qt版本5.4.2Video.play返回DirectShowPlayerService :: doSetUrlSource:未解決的錯誤代碼800c000d

返回的錯誤代碼:DirectShowPlayerService :: doSetUrlSource:800c000d

的QML文件已經寫有未解決的錯誤代碼視頻QML類型如下。我已經在項目文件(.PRO)

的Qt + =多媒體

片段在QML文件,如下代碼添加的下方。

Video { 
    id: video 
    width : 800 
    height : 600 
    source : "Video.mp4" 

    MouseArea { 
     anchors.fill: parent 
     onClicked: { 
      video.play(); 
     } 
    } 

    focus: true 
    Keys.onSpacePressed: video.playbackState == MediaPlayer.PlayingState ? video.pause() : video.play() 
    Keys.onLeftPressed: video.seek(video.position - 5000) 
    Keys.onRightPressed: video.seek(video.position + 5000) 
} 

任何關於這個錯誤的指針都會有幫助。

+0

一個相關的問題是沒有回答在如下stackoverflow:http://stackoverflow.com/questions/26098203/playing-rtsp-video-in-qml-on-windows – Sudhi

回答

2

您是否通過bug追蹤器搜索過?例如,我找到QTMOBILITY-1461,例如:

Windows7上的默認directshow過濾器不足以播放m4a文件。這不是AAC編解碼器問題,但沒有過濾器來識別m4a容器。

「K-Lite編解碼器包」提供了「MPC-MP4 Splitter」濾鏡,可用於將m4a源連接到Microsfot編解碼器濾鏡「Microsoft DTV-DVD音頻解碼器」以便播放該文件。

Windows7上的Windows Media Player 12使用Media Foundation而不是DirectShow播放.m4a .m2ts,.mp4和.mov格式(對於使用DirectShow過濾器的其他格式)。這就解釋了爲什麼我們無法使用目前的QUSIAPlayer的directshow後端實現而沒有第三方過濾器。

我們可能會考慮在文件中添加Media Foundation支持,但現在您必須安裝第三方篩選器才能在Windows7上運行它。

因此,安裝K-Lite Codec Pack可能會有幫助。

您也可以嘗試this mailing list thread中的建議。

+0

謝謝,我會試試看,並回復。 – Sudhi

+0

之後有效嗎? – mualloc

+0

@mualloc我不是100%確定的,但你可能不得不用「@」來提及他,以便他看到你的評論。 – Mitch