要求QtMultimedia使用QML使用不同的视频接收器

时间:2018-09-04 07:23:10

标签: qt qml gstreamer qtgstreamer

我正在尝试在基于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")

非常感谢任何指导。

0 个答案:

没有答案