2016-08-16 30 views
0

我知道QMultimediaWidgets不支持C++。我也在爲Android開發本機應用程序。由於我不使用QML,因此需要在應用程序中播放視頻。我想使用QMediaPlayer,因爲我依賴信號和插槽。是否有任何手動開發的後端在Android上工作或解決方案如何使用QMediaPlayer自己渲染視頻?Android上的QMediaPlayer

有沒有一種方法可以使用ffmpeg或Android上的任何可用程序自行開發這樣的後端? Qt很快會有更新嗎?

回答

1

QtMultimediaWidgets在Android上不受支持,因此您需要使用QML元素。您理論上可以嘗試的是使用QWidget::createWindowContainer在基於QWidget的應用程序中使用MediaPlayer和VideoOutput元素嵌入QML場景。一旦看到這可以完成,您可以使用MediaPlayer QML元素的mediaObject屬性從QML獲取QMediaPlayer對象。我從來沒有嘗試過這樣做。

您也可以嘗試使用另一個插件,如QtAV,但您可能會失去加速度。

+0

感謝您的回答。我目前正在嘗試動態加載QML腳本,並設置MediaPlayer的源代碼並通過invokeMethod調用訪問所有內容。雖然Android的模擬器不打印與視頻編碼相關的任何錯誤,但可以聽到聲音,但不會顯示視頻。我使用使用QWidget :: createWindowContainer()創建的小部件,它需要一些空間,但沒有視頻。 –

+0

你嘗試過真正的設備嗎? –

+0

還沒有。目前我沒有真正的設備可用,但各種模擬器沒有顯示視頻,儘管我使用了Android文檔支持的編碼。也許我只會嘗試QML應用程序。 –