3

We want to have multiple simultaneous video playbacks in our application. This example below runs fine on Mac but on Android, I see only video in the left QML Video element.

I notice, from the signals, that both players enter the PlayingState.
I also note that, on Android, the status=MediaPlayer.Buffering while on Mac status=MediaPlayer.Buffered. However, the same statuses are also observed when a single Video element is used hence I don't think this difference is relevant here.

Is this a Qt bug or a platform limitation? Can I detect this platform limitation somehow (in order to adapt the UI accordingly)?

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()
    }
}
Marc Van Daele
  • 2,856
  • 1
  • 26
  • 52

0 Answers0