在qml中打开软件时不出现视频第一帧

问题描述 投票:0回答:1

在qml中打开软件时,不出现视频的第一帧。我正在使用视频输出和媒体播放器。当我研究时,他们建议我将 autoplay 和 autoload 变量设置为 true。但在最新版本中,我使用自动加载,并且自动播放在媒体播放器中不可用。第一次打开软件时没有启动视频,如何让屏幕上出现第一帧?

import QtQuick
import QtQuick.Controls
import QtMultimedia
import QtQuick.Layouts
import QtQuick.Controls.Material

Item {
    id: videoContainer
    anchors.fill: parent
    Material.accent: sliderColor

    Rectangle {
        anchors.fill: parent
        color: mainBackgroundColor
    }

    MediaPlayer {
        id: mediaPlayer
        videoOutput: videoOutput
        source: "vid1.mp4"
    }

    ColumnLayout {
        anchors.fill: parent
        VideoOutput {
            id: videoOutput
            fillMode: VideoOutput.PreserveAspectCrop
            Layout.fillHeight: true; Layout.fillWidth: true
        }
        RowLayout {
            Layout.leftMargin: 5; Layout.rightMargin: 5
            Button {
                id: playPauseButton
                Layout.fillHeight: true; Layout.fillWidth: true
                Material.background: '#148ca3'
                text: mediaPlayer.playbackState === MediaPlayer.PlayingState ? "Durdur" : "Başlat"
                onClicked: {
                    if (mediaPlayer.playbackState === MediaPlayer.PlayingState) {
                        mediaPlayer.pause()
                    } else {
                        mediaPlayer.play()
                    }
                }
            }
            Slider {
                id: progressBar
                Layout.fillHeight: true; Layout.fillWidth: true
                from: 0
                to: mediaPlayer.duration
                value: mediaPlayer.position
                onValueChanged: mediaPlayer.position = value
            }
        }
    }
}
qml qmediaplayer
1个回答
0
投票

我也有同样的问题。我最终打电话:(我的代码是 C++ 而不是 QML)

play();
QThread::msleep(500);
pause();
© www.soinside.com 2019 - 2024. All rights reserved.