2013-02-05 93 views
1

我剛剛安裝了QT 5,並試圖運行視頻播放示例。代碼段是這樣的:qt 5 QMediaPlayer錯誤:Gstreamer無法播放

QMediaPlayer *player = new QMediaPlayer; 

player->setMedia(QUrl::fromLocalFile(fileUrl) ); 

QVideoWidget *videoWidget = new QVideoWidget; 
player->setVideoOutput(videoWidget); 

videoWidget->show(); 
player->play(); 

它編譯罰款,但是當我運行它,我得到以下錯誤:在Ubuntu 12.04

GStreamer; Unable to play - "file:sample.avi" 

Im和已安裝的所有額外的GStreamer包的情況下, gstreamer缺少編解碼器。我嘗試了幾種不同的視頻格式無濟於事。我可以使用vlc播放視頻。有沒有人有任何想法,爲什麼這不工作?

+1

「file:sample.avi」看起來應該是file://或者是它的名稱是file:sample.avi? –

+0

該文件被稱爲sample.avi。字符串「file:sample.avi」是QUrl在傳遞QString「sample.avi」後使用QUrl :: fromLocalFile()方法構造的url。爲了以防萬一,我試着將「//sample.avi」傳遞給fromLocalFile,但得到了類似的結果。所以我不認爲這是問題。 – sibtx13

回答

2

它需要絕對路徑。嘗試

player->setMedia(QUrl::fromLocalFile(QFileInfo(fileUrl).absoluteFilePath()));