两个QML Video元素在桌面上运行良好,但在Android上运行不正常

时间:2016-09-29 07:04:35

标签: android qt qml qtquick2 qtmultimedia

我们希望在我们的应用程序中同时播放多个视频。 下面的示例在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()
    }
}

0 个答案:

没有答案