QMediaPlaylist Class

The QMediaPlaylist class provides a list of media content to play. 更多...

头: #include <QMediaPlaylist>
qmake: QT += multimedia
继承: QObject and QMediaBindableInterface

公共类型

enum Error { NoError, FormatError, FormatNotSupportedError, NetworkError, AccessDeniedError }
enum PlaybackMode { CurrentItemOnce, CurrentItemInLoop, Sequential, Loop, Random }

特性

公共函数

QMediaPlaylist (QObject * parent = nullptr)
virtual ~QMediaPlaylist ()
bool addMedia (const QMediaContent & content )
bool addMedia (const QList<QMediaContent> & )
bool clear ()
int currentIndex () const
QMediaContent currentMedia () const
QMediaPlaylist::Error error () const
QString errorString () const
bool insertMedia (int pos , const QMediaContent & content )
bool insertMedia (int pos , const QList<QMediaContent> & )
bool isEmpty () const
bool isReadOnly () const
void load (const QNetworkRequest & request , const char * format = nullptr)
void load (const QUrl & location , const char * format = nullptr)
void load (QIODevice * device , const char * format = nullptr)
QMediaContent media (int index ) const
int mediaCount () const
bool moveMedia (int from , int to )
int nextIndex (int steps = 1) const
QMediaPlaylist::PlaybackMode playbackMode () const
int previousIndex (int steps = 1) const
bool removeMedia (int pos )
bool removeMedia (int start , int end )
bool save (const QUrl & location , const char * format = nullptr)
bool save (QIODevice * device , const char * format )
void setPlaybackMode (QMediaPlaylist::PlaybackMode mode )

重实现公共函数

virtual QMediaObject * mediaObject () const override

公共槽

void next ()
void previous ()
void setCurrentIndex (int playlistPosition )
void shuffle ()

信号

void currentIndexChanged (int position )
void currentMediaChanged (const QMediaContent & content )
void loadFailed ()
void loaded ()
void mediaAboutToBeInserted (int start , int end )
void mediaAboutToBeRemoved (int start , int end )
void mediaChanged (int start , int end )
void mediaInserted (int start , int end )
void mediaRemoved (int start , int end )
void playbackModeChanged (QMediaPlaylist::PlaybackMode mode )

详细描述

QMediaPlaylist is intended to be used with other media objects, like QMediaPlayer .

QMediaPlaylist allows to access the service intrinsic playlist functionality if available, otherwise it provides the local memory playlist implementation.

playlist = new QMediaPlaylist;
playlist->addMedia(QUrl("http://example.com/movie1.mp4"));
playlist->addMedia(QUrl("http://example.com/movie2.mp4"));
playlist->addMedia(QUrl("http://example.com/movie3.mp4"));
playlist->setCurrentIndex(1);
player = new QMediaPlayer;
player->setPlaylist(playlist);
videoWidget = new QVideoWidget;
player->setVideoOutput(videoWidget);
videoWidget->show();
player->play();
					

Depending on playlist source implementation, most of the playlist mutating operations can be asynchronous.

另请参阅 QMediaContent .

成员类型文档编制

enum QMediaPlaylist:: Error

This enum describes the QMediaPlaylist error codes.

常量 描述
QMediaPlaylist::NoError 0 No errors.
QMediaPlaylist::FormatError 1 Format error.
QMediaPlaylist::FormatNotSupportedError 2 Format not supported.
QMediaPlaylist::NetworkError 3 Network error.
QMediaPlaylist::AccessDeniedError 4 Access denied error.

enum QMediaPlaylist:: PlaybackMode

The QMediaPlaylist::PlaybackMode describes the order items in playlist are played.

常量 描述
QMediaPlaylist::CurrentItemOnce 0 The current item is played only once.
QMediaPlaylist::CurrentItemInLoop 1 The current item is played repeatedly in a loop.
QMediaPlaylist::Sequential 2 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.
QMediaPlaylist::Loop 3 Playback restarts at the first item after the last has finished playing.
QMediaPlaylist::Random 4 Play items in random order.

特性文档编制

currentIndex : int

Current position.

访问函数:

int currentIndex () const
void setCurrentIndex (int playlistPosition )

通知程序信号:

void currentIndexChanged (int position )

currentMedia : const QMediaContent

Current media content.

访问函数:

QMediaContent currentMedia () const

通知程序信号:

void currentMediaChanged (const QMediaContent & content )

playbackMode : QMediaPlaylist::PlaybackMode

This property defines the order that items in the playlist are played.

访问函数:

QMediaPlaylist::PlaybackMode playbackMode () const
void setPlaybackMode (QMediaPlaylist::PlaybackMode mode )

通知程序信号:

void playbackModeChanged (QMediaPlaylist::PlaybackMode mode )

另请参阅 QMediaPlaylist::PlaybackMode .

成员函数文档编制

QMediaPlaylist:: QMediaPlaylist ( QObject * parent = nullptr)

Create a new playlist object with the given parent .

[signal] void QMediaPlaylist:: currentIndexChanged ( int position )

Signal emitted when playlist position changed to position .

注意: 通知程序信号对于特性 currentIndex .

[signal] void QMediaPlaylist:: currentMediaChanged (const QMediaContent & content )

Signal emitted when current media changes to content .

注意: 通知程序信号对于特性 currentMedia .

[signal] void QMediaPlaylist:: loadFailed ()

Signal emitted if failed to load playlist.

[signal] void QMediaPlaylist:: loaded ()

Signal emitted when playlist finished loading.

[signal] void QMediaPlaylist:: mediaAboutToBeInserted ( int start , int end )

Signal emitted when items are to be inserted at start and ending at end .

[signal] void QMediaPlaylist:: mediaAboutToBeRemoved ( int start , int end )

Signal emitted when item are to be deleted at start and ending at end .

[signal] void QMediaPlaylist:: mediaChanged ( int start , int end )

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

[signal] void QMediaPlaylist:: mediaInserted ( int start , int end )

This signal is emitted after media has been inserted into the playlist. The new items are those between start and end 包括在内。

[signal] void QMediaPlaylist:: mediaRemoved ( int start , int end )

This signal is emitted after media has been removed from the playlist. The removed items are those between start and end 包括在内。

[slot] void QMediaPlaylist:: next ()

Advance to the next media content in playlist.

[signal] void QMediaPlaylist:: playbackModeChanged ( QMediaPlaylist::PlaybackMode mode )

Signal emitted when playback mode changed to mode .

注意: 通知程序信号对于特性 playbackMode .

[slot] void QMediaPlaylist:: previous ()

Return to the previous media content in playlist.

[slot] void QMediaPlaylist:: setCurrentIndex ( int playlistPosition )

Activate media content from playlist at position playlistPosition .

注意: setter 函数对于特性 currentIndex .

另请参阅 currentIndex ().

[slot] void QMediaPlaylist:: shuffle ()

Shuffle items in the playlist.

[虚拟] QMediaPlaylist:: ~QMediaPlaylist ()

Destroys the playlist.

bool QMediaPlaylist:: addMedia (const QMediaContent & content )

Append the media content to the playlist.

Returns true if the operation is successful, otherwise returns false.

bool QMediaPlaylist:: addMedia (const QList < QMediaContent > & )

Append multiple media content to the playlist.

Returns true if the operation is successful, otherwise returns false.

bool QMediaPlaylist:: clear ()

Remove all the items from the playlist.

Returns true if the operation is successful, otherwise return false.

int QMediaPlaylist:: currentIndex () const

Returns position of the current media content in the playlist.

注意: Getter function for property currentIndex.

另请参阅 setCurrentIndex ().

QMediaContent QMediaPlaylist:: currentMedia () const

Returns the current media content.

注意: Getter function for property currentMedia.

QMediaPlaylist::Error QMediaPlaylist:: error () const

Returns the last error condition.

QString QMediaPlaylist:: errorString () const

Returns the string describing the last error condition.

bool QMediaPlaylist:: insertMedia ( int pos , const QMediaContent & content )

Insert the media content to the playlist at position pos .

Returns true if the operation is successful, otherwise returns false.

bool QMediaPlaylist:: insertMedia ( int pos , const QList < QMediaContent > & )

Insert multiple media content to the playlist at position pos .

Returns true if the operation is successful, otherwise returns false.

bool QMediaPlaylist:: isEmpty () const

Returns true if the playlist contains no items, otherwise returns false.

另请参阅 mediaCount ().

bool QMediaPlaylist:: isReadOnly () const

Returns true if the playlist can be modified, otherwise returns false.

另请参阅 mediaCount ().

void QMediaPlaylist:: load (const QNetworkRequest & request , const char * format = nullptr)

Load playlist using network request 。若 format is specified, it is used, otherwise format is guessed from playlist name and data.

New items are appended to playlist.

QMediaPlaylist::loaded () signal is emitted if playlist was loaded successfully, otherwise the playlist emits loadFailed ().

void QMediaPlaylist:: load (const QUrl & location , const char * format = nullptr)

Load playlist from location 。若 format is specified, it is used, otherwise format is guessed from location name and data.

New items are appended to playlist.

QMediaPlaylist::loaded () signal is emitted if playlist was loaded successfully, otherwise the playlist emits loadFailed ().

void QMediaPlaylist:: load ( QIODevice * device , const char * format = nullptr)

Load playlist from QIODevice device 。若 format is specified, it is used, otherwise format is guessed from device data.

New items are appended to playlist.

QMediaPlaylist::loaded () signal is emitted if playlist was loaded successfully, otherwise the playlist emits loadFailed ().

QMediaContent QMediaPlaylist:: media ( int index ) const

Returns the media content at index in the playlist.

int QMediaPlaylist:: mediaCount () const

Returns the number of items in the playlist.

另请参阅 isEmpty ().

[override virtual] QMediaObject *QMediaPlaylist:: mediaObject () const

重实现: QMediaBindableInterface::mediaObject () const.

返回 QMediaObject instance that this QMediaPlaylist is bound too, or 0 otherwise.

bool QMediaPlaylist:: moveMedia ( int from , int to )

Move the item from position from to position to .

Returns true if the operation is successful, otherwise false.

该函数在 Qt 5.7 引入。

int QMediaPlaylist:: nextIndex ( int steps = 1) const

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

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

另请参阅 QMediaPlaylist::playbackMode () 和 previousIndex ().

int QMediaPlaylist:: previousIndex ( int steps = 1) const

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

另请参阅 QMediaPlaylist::playbackMode () 和 nextIndex ().

bool QMediaPlaylist:: removeMedia ( int pos )

Remove the item from the playlist at position pos .

Returns true if the operation is successful, otherwise return false.

bool QMediaPlaylist:: removeMedia ( int start , int end )

Remove items in the playlist from start to end 包括在内。

Returns true if the operation is successful, otherwise return false.

bool QMediaPlaylist:: save (const QUrl & location , const char * format = nullptr)

Save playlist to location 。若 format is specified, it is used, otherwise format is guessed from location name.

Returns true if playlist was saved successfully, otherwise returns false.

bool QMediaPlaylist:: save ( QIODevice * device , const char * format )

Save playlist to QIODevice device using format format .

Returns true if playlist was saved successfully, otherwise returns false.