我们希望在我们的应用程序中同时播放多个视频。
下面的示例在Mac上运行正常,但在Android上,我只看到左侧QML Video
元素中的视频。
我从信号中注意到两位玩家都进入了PlayingState
我还注意到,在Android上,status=MediaPlayer.Buffering
在Mac上status=MediaPlayer.Buffered
。但是,当使用单个Video
元素时,也会观察到相同的状态,因此我不认为这种差异在这里是相关的。
这是Qt错误还是平台限制? 我能否以某种方式检测此平台限制(以便相应地调整UI)?
import QtQuick 2.5
import QtQuick.Window 2.2
import QtMultimedia 5.5
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Video {
id: v1
width: parent.width/2
height: parent.height
anchors.left: parent.left
source: "http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"
onStatusChanged: console.log("Status V1 "+status + "//" + MediaPlayer.Buffering)
onAvailabilityChanged: console.log("Availability V1 "+availability)
onErrorChanged: console.log("Error V1 "+error + "//"+ errorString)
onPlaybackStateChanged: console.log("PlaybackState V1 "+playbackState)
}
Video {
id: v2
width: parent.width/2
height: parent.height
anchors.right: parent.right
source: "http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"
onStatusChanged: console.log("Status V2 "+status + "//" + MediaPlayer.Buffering)
onErrorChanged: console.log("Error V2 "+error + "//"+ errorString)
onPlaybackStateChanged: console.log("PlaybackState V2 "+playbackState)
}
Component.onCompleted: {
v1.play()
v2.play()
}
}