2014-04-09 106 views
3

我使用TI提供的工具鏈以及SDK 6.00.00爲TI AM335x開發板交叉編譯Qt 5.2.1。QtQuick:無法在嵌入式Linux上播放任何視頻

不幸我不能重現QML任何視頻......

調試控制檯講述:

defaultServiceProvider::requestService(): no service found for – 「org.qt-project.qt.mediaplayer」 

有我在交叉編譯我失去了一些東西?也許有一些依賴關係? 有人可以幫助我確定我缺少的東西嗎?

你可以找到here我的交叉編譯的配置和here設置環境變量QT_DEBUG_PLUGIN

回答

2

你缺少一個QtMultimedia後端,實際上可以播放音頻時,由應用程序產生的信息的全面跟蹤。它沒有安裝到正確的目錄中,或者它沒有被構建。由於您的日誌輸出顯示找到了一個後端(一個音頻捕獲的),所以我排除了安裝問題。

你需要重建你的QtMultimedia以適當的依賴關係。例如,當構建QtMultimedia時發現gstreamer時,將構建一個GStreamer後端插件。 Qt文檔有a list of available backends

當你構建QtMultimedia時,它實際上會告訴你它找到了哪些庫,這是哪個後端將被構建的指示。這裏是QtMultimedia運行的qmake當桌面Linux輸出示例 - 它內置一個的GStreamer後端對我來說:

Running qmake /home/thomas/src/qt/qtmultimedia-stable ... 
Info: creating cache file /home/thomas/build/qt/qtmultimedia-stable/.qmake.cache 
Checking for openal... no 
Checking for alsa... yes 
Checking for pulseaudio... no 
Checking for gstreamer... yes 
Checking for gstreamer_photography... no 
Checking for gstreamer_encodingprofiles... yes 
Checking for gstreamer_appsrc... yes 
Checking for resourcepolicy... no 
+0

感謝您的時間......我發現我的'的GStreamer-0.10'開發包沒有被發現在交叉編譯期間,由於我在'。/ configure'步驟中缺少'-sysroot',現在我正在交叉編譯(這將需要幾個小時),如果我再次交叉編譯我能夠播放視頻 –

+1

我可以向你確認問題與我以前的評論所描述的一樣......現在視頻效果很好!我將你的答案標記爲已接受。謝謝! –

相關問題