在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
}
}
}
}
我也有同样的问题。我最终打电话:(我的代码是 C++ 而不是 QML)
play();
QThread::msleep(500);
pause();