MediaPlayer QML Type

Adds media playback to a scene. More...

Import Statement: import QtMultimedia
In C++: QMediaPlayer

Properties

Signals

Methods

Detailed Description

Text {
    text: "Click Me!";
    font.pointSize: 24;
    width: 150; height: 50;

    MediaPlayer {
        id: playMusic
        source: "music.wav"
        audioOutput: AudioOutput {}
    }
    MouseArea {
        anchors.fill: parent
        onPressed:  { playMusic.play() }
    }
}

You can use MediaPlayer together with a MultiMedia::AudioOutput to play audio content, or you can use it in conjunction with a Multimedia::VideoOutput for rendering video.

Item {
    MediaPlayer {
        id: mediaplayer
        source: "groovy_video.mp4"
        audioOutput: AudioOutput {}
        videoOutput: videoOutput
    }

    VideoOutput {
        id: videoOutput
        anchors.fill: parent
    }

    MouseArea {
        anchors.fill: parent
        onPressed: mediaplayer.play();
    }
}

See also AudioOutput and VideoOutput.

Property Documentation

activeAudioTrack : int

This property holds the track number of the currently active audio track. Set to -1 to disable audio track.

The default property value is 0: the first audio track.


activeSubtitleTrack : int

This property holds the track number of the currently active subtitle track. Set to -1 to disable subtitle track.

The default property value is -1: no subtitles active.


activeVideoTrack : int

This property holds the track number of the currently active video audio track. Set to -1 to disable video track.

The default property value is 0: the first video track.


audioBufferOutput : QAudioBufferOutput [since 6.8]

This property holds the target audio buffer output.

Normal usage of MediaPlayer from QML should not require using this property.

This property was introduced in Qt 6.8.

See also QMediaPlayer::audioBufferOutput().


audioOutput : AudioOutput

This property holds the target audio output. Accepts one AudioOutput elements.

See also QMediaPlayer::setAudioOutput().


audioTracks : list<mediaMetaData> [read-only]

This property holds a list of metadata. Each index refers to an audio track.

The metadata holds properties describing the individual tracks. For audio tracks the Language is usually the most important property.

See also mediaMetaData.


autoPlay : bool [since 6.7]

This property controls whether the media begins to play automatically after it gets loaded. Defaults to false.

This property was introduced in Qt 6.7.


bufferProgress : real [read-only]

This property holds how much of the data buffer is currently filled, from 0.0 (empty) to 1.0 (full).

Playback can start or resume only when the buffer is entirely filled. When the buffer is filled, MediaPlayer.Buffered is true. When buffer progress is between 0.0 and 1.0, MediaPlayer.Buffering is set to true.

A value lower than 1.0 implies that the property MediaPlayer.StalledMedia is true.

See also mediaStatus.


duration : int [read-only]

This property holds the duration of the media in milliseconds.

If the media doesn't have a fixed duration (a live stream for example) this will be set to 0.


error : enumeration [read-only]

This property holds the error state of the audio. It can be one of the following.

ValueDescription
NoErrorThere is no current error.
ResourceErrorThe audio cannot be played due to a problem allocating resources.
FormatErrorThe audio format is not supported.
NetworkErrorThe audio cannot be played due to network issues.
AccessDeniedErrorThe audio cannot be played due to insufficient permissions.

errorString : string [read-only]

This property holds a string describing the current error condition in more detail.


hasAudio : bool [read-only]

This property holds whether the media contains audio.


hasVideo : bool [read-only]

This property holds whether the media contains video.


loops : int

Determines how often the media is played before the player stops. Set to MediaPlayer::Infinite to loop the current media file forever.

The default value is 1. Setting this property to 0 has no effect.


mediaStatus : enumeration [read-only]

This property holds the status of media loading. It can be one of the following:

Property valueDescription
NoMediaNo media has been set.
LoadingMediaThe media is currently being loaded.
LoadedMediaThe media has been loaded.
BufferingMediaThe media is buffering data.
StalledMediaPlayback has been interrupted while the media is buffering data.
BufferedMediaThe media has buffered data.
EndOfMediaThe media has played to the end.
InvalidMediaThe media cannot be played.

metaData : mediaMetaData [read-only]

Returns meta data for the current media used by the media player.

Meta data can contain information such as the title of the video or its creation date.

Note: The Windows implementation provides metadata only for media located on the local file system.


playbackRate : real

This property holds the rate at which media is played at as a multiple of the normal rate.

For more information, see QMediaPlayer::playbackRate.

Defaults to 1.0.


playbackState : enumeration [read-only]

This property holds the state of media playback. It can be one of the following:

Property valueDescription
PlayingStateThe media is currently playing. This indicates the same as the playing property.
PausedStatePlayback of the media has been suspended.
StoppedStatePlayback of the media is yet to begin.

playing : bool [read-only, since 6.5]

Indicates whether the media is currently playing.

This property was introduced in Qt 6.5.

See also playbackState.


position : int

The value is the current playback position, expressed in milliseconds since the beginning of the media. Periodically changes in the position will be indicated with the positionChanged() signal.

If the seekable property is true, this property can be set to milliseconds.


seekable : bool [read-only]

This property holds whether the position of the media can be changed.


source : url

This property holds the source URL of the media.

Item {
    MediaPlayer {
        id: mediaplayer
        source: "file:///test.mp4"
        videoOutput: videoOutput
        audioOutput: AudioOutput {

        }
    }

    VideoOutput {
        id: videoOutput
        anchors.fill: parent
    }

    MouseArea {
        id: playArea
        anchors.fill: parent
        onPressed: mediaplayer.play();
    }
}

See also QMediaPlayer::setSource().


subtitleTracks : list<mediaMetaData> [read-only]

This property holds a list of metadata. Each index refers to a subtitle track.

The metadata holds properties describing the individual tracks. For subtitle tracks the Language is usually the most important property.

See also mediaMetaData.


videoOutput : VideoOutput

This property holds the target video output. Accepts one VideoOutput elements.

See also QMediaPlayer::setVideoOutput().


videoTracks : list<mediaMetaData> [read-only]

This property holds a list of metadata. Each index refers to a video track.

The metadata holds properties describing the individual tracks.

See also mediaMetaData.


Signal Documentation

errorOccurred(error, errorString)

This signal is emitted when an error has occurred. The errorString parameter may contain more detailed information about the error.

Note: The corresponding handler is onErrorOccurred.

See also QMediaPlayer::Error.


playbackStateChanged()

This signal is emitted when the playbackState property is altered.

Note: The corresponding handler is onPlaybackStateChanged.


playingChanged()

This signal is emitted when the playing property changes.

Note: The corresponding handler is onPlayingChanged.


Method Documentation

pause()

Pauses playback of the media.

Sets the playbackState property to PausedState, and changes playing to false.


play()

Starts or resumes playback of the media.

Sets the playbackState property to PlayingState, and changes playing to true.


stop()

Stops playback of the media.

Sets the playbackState property to StoppedState, and changes playing to false.


© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.