Я пытаюсь разработать приложение, подобное медиаплееру, во встроенной системе на базе iMX 8. Это довольно новая встроенная система, которая находится в предварительной версии и в настоящее время поддерживает Qt 5.8.0. Для воспроизведения мультимедиа мы должны использовать QML + QtMultimedia, который использует GStreamer на низком уровне. Хост-компьютер имеет Qt 5.10.1
Я настроил встроенную систему для успешного воспроизведения видео и отображения изображений с помощью GStreamer. Для этих опций я использую следующие команды:
Показать видео:
gst-launch-1.0 playbin uri=file://<video.mp4> video-sink=glimagesink
Показать изображение:
VSTALPHA=1 gst-launch-1.0 filesrc location=<file.jpeg> ! jpegdec ! imagefreeze ! glimagesink
Я не эксперт в Qt или QtMultimedia, но я считаю, что для правильного отображения видео и изображения с помощью QML мне нужно как-то изменить приемник видео по умолчанию. Я не знаю, как начать с этого, используя чисто QML.
Я также могу при необходимости исправлять источники QtMultimedia, но мне нужно руководство в правильном направлении.
Когда приложение на основе QML воспроизводит видео без дополнительных настроек, оно мигает и в основном отображает черный экран,
приложение не может отобразить изображение вообще.
Код QML приведен ниже:
VideoOutput {
id: mp4Output
height: 250
width: 380
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: sldrPosition.top
source: audioPlayer
}
//Image
lvBrowseAudio.imageObject = Qt.createQmlObject('import QtQuick 2.0; Image { anchors.horizontalCenter: parent.horizontalCenter;
anchors.verticalCenter: parent.verticalCenter; source: fileURL}', pgAudioPlayer,
"../player/PgAudioPlayer.qml")
Любые указания приветствуются.