Playlist

For specifying a list of media to be played. More...

Import Statement: import QtMultimedia 5.8
Since: Qt 5.6

Properties

Signals

Methods

Detailed Description

The Playlist type provides a way to play a list of media with the MediaPlayer, Audio and Video types. It can be used as a data source for view elements (such as ListView) and other elements that interact with model data (such as Repeater). When used as a data model, each playlist item's source URL can be accessed using the source role.

Item {
    width: 400;
    height: 300;

    Audio {
        id: player;
        playlist: Playlist {
            id: playlist
            PlaylistItem { source: "song1.ogg"; }
            PlaylistItem { source: "song2.ogg"; }
            PlaylistItem { source: "song3.ogg"; }
        }
    }

    ListView {
        model: playlist;
        delegate: Text {
            font.pixelSize: 16;
            text: source;
        }
    }

    MouseArea {
        anchors.fill: parent;
        onPressed: {
            if (player.playbackState != Audio.PlayingState) {
                player.play();
            } else {
                player.pause();
            }
        }
    }
}

See also MediaPlayer, Audio, and Video.

Property Documentation

currentIndex : int

This property holds the position of the current item in the playlist.


currentItemsource : url

This property holds the source URL of the current item in the playlist.


error : enumeration

This property holds the error condition of the playlist.

Value Description
NoError No errors
FormatError Format error.
FormatNotSupportedError Format not supported.
NetworkError Network error.
AccessDeniedError Access denied error.

errorString : string

This property holds a string describing the current error condition of the playlist.


itemCount : int

This property holds the number of items in the playlist.


playbackMode : enumeration

This property holds the order in which items in the playlist are played.

Value Description
CurrentItemOnce The current item is played only once.
CurrentItemInLoop The current item is played repeatedly in a loop.
Sequential Playback starts from the current and moves through each successive item until the last is reached and then stops. The next item is a null item when the last one is currently playing.
Loop Playback restarts at the first item after the last has finished playing.
Random Play items in random order.

readOnly : bool

This property indicates if the playlist can be modified.


Signal Documentation

itemAboutToBeInserted(start, end)

This signal is emitted when items are to be inserted into the playlist at start and ending at end.

The corresponding handler is onItemAboutToBeInserted.


itemAboutToBeRemoved(start, end)

This signal emitted when items are to be deleted from the playlist at start and ending at end.

The corresponding handler is onItemAboutToBeRemoved.


itemChanged(start, end)

This signal is emitted after items have been changed in the playlist between start and end positions inclusive.

The corresponding handler is onItemChanged.


itemInserted(start, end)

This signal is emitted after items have been inserted into the playlist. The new items are those between start and end inclusive.

The corresponding handler is onItemInserted.


itemRemoved(start, end)

This signal is emitted after items have been removed from the playlist. The removed items are those between start and end inclusive.

The corresponding handler is onMediaRemoved.


loadFailed()

This signal is emitted when the playlist loading failed. error and errorString can be checked for more information on the failure.

The corresponding handler is onLoadFailed.


loaded()

This signal is emitted when the playlist loading succeeded.

The corresponding handler is onLoaded.


Method Documentation

bool addItem(source)

Appends the source URL to the playlist.

Returns true if the source is added successfully.


bool addItems(sources)

Appends the list of URLs in sources to the playlist.

Returns true if the sources are added successfully.

This QML method was introduced in Qt 5.7.


bool clear()

Removes all the items from the playlist.

Returns true if the operation is successful.


bool insertItem(index, source)

Inserts the source URL to the playlist at the given index.

Returns true if the source is added successfully.


bool insertItems(index, sources)

Inserts the list of URLs in sources to the playlist at the given index.

Returns true if the sources are added successfully.

This QML method was introduced in Qt 5.7.


url itemSource(index)

Returns the source URL of the item at the given index in the playlist.


load(location, format)

Loads a playlist from the given location. If format is specified, it is used, otherwise the format is guessed from the location name and the data.

New items are appended to the playlist.

onloaded() is emitted if the playlist loads successfully, otherwise onLoadFailed() is emitted with error and errorString defined accordingly.


bool moveItem(from, to)

Moves the item at index position from to index position to.

Returns true if the item is moved successfully.

This QML method was introduced in Qt 5.7.


next()

Advances to the next item in the playlist.


int nextIndex(steps)

Returns the index of the item in the playlist which would be current after calling next() steps times.

Returned value depends on the size of the playlist, the current position and the playback mode.

See also playbackMode and previousIndex().


previous()

Returns to the previous item in the playlist.


int previousIndex(steps)

Returns the index of the item in the playlist which would be current after calling previous() steps times.

Returned value depends on the size of the playlist, the current position and the playback mode.

See also playbackMode and nextIndex().


bool removeItem(index)

Removed the item at the given index from the playlist.

Returns true if the source is removed successfully.


bool removeItems(int start, int end)

Removes items in the playlist from start to end inclusive.

Returns true if the items are removed successfully.

This QML method was introduced in Qt 5.7.


bool save(location, format)

Saves the playlist to the given location. If format is specified, it is used, otherwise the format is guessed from the location name.

Returns true if the playlist is saved successfully.


shuffle()

Shuffles items in the playlist.


Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support