The QMediaPlayer class allows the playing of a media source. More...
#include <QMediaPlayer>
Inherits: QMediaObject.
This class was introduced in Qt Mobility 1.0.
enum | Error { NoError, ResourceError, FormatError, NetworkError, AccessDeniedError, ServiceMissingError } |
enum | Flag { LowLatency, StreamPlayback, VideoSurface } |
flags | Flags |
enum | MediaStatus { UnknownMediaStatus, NoMedia, LoadingMedia, LoadedMedia, ..., InvalidMedia } |
enum | State { PlayingState, PausedState, StoppedState } |
|
|
QMediaPlayer ( QObject * parent = 0, Flags flags = 0, QMediaServiceProvider * provider = QMediaServiceProvider::defaultServiceProvider() ) | |
~QMediaPlayer () | |
int | bufferStatus () const |
QNetworkConfiguration | currentNetworkConfiguration () const |
qint64 | duration () const |
Error | error () const |
QString | errorString () const |
bool | isAudioAvailable () const |
bool | isMuted () const |
bool | isSeekable () const |
bool | isVideoAvailable () const |
QMediaContent | media () const |
MediaStatus | mediaStatus () const |
const QIODevice * | mediaStream () const |
qreal | playbackRate () const |
QMediaPlaylist * | playlist () const |
qint64 | position () const |
void | setVideoOutput ( QVideoWidget * output ) |
void | setVideoOutput ( QGraphicsVideoItem * output ) |
void | setVideoOutput ( QAbstractVideoSurface * surface ) |
State | state () const |
int | volume () const |
void | pause () |
void | play () |
void | setMedia ( const QMediaContent & media, QIODevice * stream = 0 ) |
void | setMuted ( bool muted ) |
void | setNetworkConfigurations ( const QList<QNetworkConfiguration> & configurations ) |
void | setPlaybackRate ( qreal rate ) |
void | setPlaylist ( QMediaPlaylist * playlist ) |
void | setPosition ( qint64 position ) |
void | setVolume ( int volume ) |
void | stop () |
void | audioAvailableChanged ( bool available ) |
void | bufferStatusChanged ( int percentFilled ) |
void | durationChanged ( qint64 duration ) |
void | error ( QMediaPlayer::Error error ) |
void | mediaChanged ( const QMediaContent & media ) |
void | mediaStatusChanged ( QMediaPlayer::MediaStatus status ) |
void | mutedChanged ( bool muted ) |
void | networkConfigurationChanged ( const QNetworkConfiguration & configuration ) |
void | playbackRateChanged ( qreal rate ) |
void | positionChanged ( qint64 position ) |
void | seekableChanged ( bool seekable ) |
void | stateChanged ( QMediaPlayer::State state ) |
void | videoAvailableChanged ( bool videoAvailable ) |
void | volumeChanged ( int volume ) |
QtMultimediaKit::SupportEstimate | hasSupport ( const QString & mimeType, const QStringList & codecs = QStringList(), Flags flags = 0 ) |
QStringList | supportedMimeTypes ( Flags flags = 0 ) (deprecated) |
The QMediaPlayer class allows the playing of a media source.
The QMediaPlayer class is a high level media playback class. It can be used to playback such content as songs, movies and internet radio. The content to playback is specified as a QMediaContent, which can be thought of as a main or canonical URL with addition information attached. When provided with a QMediaContent playback may be able to commence.
player = new QMediaPlayer; connect(player, SIGNAL(positionChanged(qint64)), this, SLOT(positionChanged(qint64))); player->setMedia(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3")); player->setVolume(50); player->play();
QVideoWidget can be used with QMediaPlayer for video rendering and QMediaPlaylist for accessing playlist functionality.
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();
See also QMediaObject, QMediaService, QVideoWidget, and QMediaPlaylist.
Defines a media player error condition.
Constant | Value | Description |
---|---|---|
QMediaPlayer::NoError | 0 | No error has occurred. |
QMediaPlayer::ResourceError | 1 | A media resource couldn't be resolved. |
QMediaPlayer::FormatError | 2 | The format of a media resource isn't (fully) supported. Playback may still be possible, but without an audio or video component. |
QMediaPlayer::NetworkError | 3 | A network error occurred. |
QMediaPlayer::AccessDeniedError | 4 | There are not the appropriate permissions to play a media resource. |
QMediaPlayer::ServiceMissingError | 5 | A valid playback service was not found, playback cannot proceed. |
Constant | Value | Description |
---|---|---|
QMediaPlayer::LowLatency | 0x01 | The player is expected to be used with simple audio formats, but playback should start without significant delay. Such playback service can be used for beeps, ringtones, etc. |
QMediaPlayer::StreamPlayback | 0x02 | The player is expected to play QIODevice based streams. If passed to QMediaPlayer constructor, the service supporting streams playback will be chosen. |
QMediaPlayer::VideoSurface | 0x04 | The player is expected to be able to render to a QAbstractVideoSurface output. |
The Flags type is a typedef for QFlags<Flag>. It stores an OR combination of Flag values.
Defines the status of a media player's current media.
Constant | Value | Description |
---|---|---|
QMediaPlayer::UnknownMediaStatus | 0 | The status of the media cannot be determined. |
QMediaPlayer::NoMedia | 1 | The is no current media. The player is in the StoppedState. |
QMediaPlayer::LoadingMedia | 2 | The current media is being loaded. The player may be in any state. |
QMediaPlayer::LoadedMedia | 3 | The current media has been loaded. The player is in the StoppedState. |
QMediaPlayer::StalledMedia | 4 | Playback of the current media has stalled due to insufficient buffering or some other temporary interruption. The player is in the PlayingState or PausedState. |
QMediaPlayer::BufferingMedia | 5 | The player is buffering data but has enough data buffered for playback to continue for the immediate future. The player is in the PlayingState or PausedState. |
QMediaPlayer::BufferedMedia | 6 | The player has fully buffered the current media. The player is in the PlayingState or PausedState. |
QMediaPlayer::EndOfMedia | 7 | Playback has reached the end of the current media. The player is in the StoppedState. |
QMediaPlayer::InvalidMedia | 8 | The current media cannot be played. The player is in the StoppedState. |
Defines the current state of a media player.
Constant | Value | Description |
---|---|---|
QMediaPlayer::PlayingState | 1 | The media player is currently playing content. |
QMediaPlayer::PausedState | 2 | The media player has paused playback, playback of the current track will resume from the position the player was paused at. |
QMediaPlayer::StoppedState | 0 | The media player is not playing content, playback will begin from the start of the current track. |
This property holds the audio availabilty status for the current media.
As the life time of QMediaPlayer can be longer than the playback of one QMediaContent, this property may change over time, the audioAvailableChanged signal can be used to monitor it's status.
This property was introduced in Qt Mobility 1.0.
Access functions:
bool | isAudioAvailable () const |
Notifier signal:
void | audioAvailableChanged ( bool available ) |
This property holds the percentage of the temporary buffer filled before playback begins.
When the player object is buffering; this property holds the percentage of the temporary buffer that is filled. The buffer will need to reach 100% filled before playback can resume, at which time the MediaStatus will be BufferedMedia.
This property was introduced in Qt Mobility 1.0.
Access functions:
int | bufferStatus () const |
Notifier signal:
void | bufferStatusChanged ( int percentFilled ) |
See also mediaStatus().
This property holds the duration of the current media.
The value is the total playback time in milliseconds of the current media. The value may change across the life time of the QMediaPlayer object and may not be available when initial playback begins, connect to the durationChanged() signal to receive status notifications.
This property was introduced in Qt Mobility 1.0.
Access functions:
qint64 | duration () const |
Notifier signal:
void | durationChanged ( qint64 duration ) |
This property holds a string describing the last error condition.
This property was introduced in Qt Mobility 1.0.
Access functions:
QString | errorString () const |
See also error().
This property holds the active media source being used by the player object.
The player object will use the QMediaContent for selection of the content to be played.
By default this property has a null QMediaContent.
Setting this property to a null QMediaContent will cause the player to discard all information relating to the current media source and to cease all I/O operations related to that media.
This property was introduced in Qt Mobility 1.0.
Access functions:
QMediaContent | media () const |
void | setMedia ( const QMediaContent & media, QIODevice * stream = 0 ) |
Notifier signal:
void | mediaChanged ( const QMediaContent & media ) |
See also QMediaContent.
This property holds the status of the current media stream.
The stream status describes how the playback of the current stream is progressing.
By default this property is QMediaPlayer::NoMedia
This property was introduced in Qt Mobility 1.0.
Access functions:
MediaStatus | mediaStatus () const |
Notifier signal:
void | mediaStatusChanged ( QMediaPlayer::MediaStatus status ) |
See also state.
This property holds the muted state of the current media.
The value will be true if the playback volume is muted; otherwise false.
This property was introduced in Qt Mobility 1.0.
Access functions:
bool | isMuted () const |
void | setMuted ( bool muted ) |
Notifier signal:
void | mutedChanged ( bool muted ) |
This property holds the playback rate of the current media.
This value is a multiplier applied to the media's standard play rate. By default this value is 1.0, indicating that the media is playing at the standard pace. Values higher than 1.0 will increase the rate of play. Values less than zero can be set and indicate the media will rewind at the multiplier of the standard pace.
Not all playback services support change of the playback rate. It is framework defined as to the status and quality of audio and video while fast forwarding or rewinding.
This property was introduced in Qt Mobility 1.0.
Access functions:
qreal | playbackRate () const |
void | setPlaybackRate ( qreal rate ) |
Notifier signal:
void | playbackRateChanged ( qreal rate ) |
This property holds the media playlist being used by the player object.
The player object will use the current playlist item for selection of the content to be played.
By default this property is set to null.
If the media playlist is used as a source, QMediaPlayer::media is updated with a current playlist item. The current source should be selected with QMediaPlaylist::setCurrentIndex(int) instead of QMediaPlayer::setMedia(), otherwise the current playlist will be discarded.
This property was introduced in Qt Mobility 1.0.
Access functions:
QMediaPlaylist * | playlist () const |
void | setPlaylist ( QMediaPlaylist * playlist ) |
See also QMediaContent.
This property holds the playback position of the current media.
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 signal positionChanged(), the interval between updates can be set with QMediaObject's method setNotifyInterval().
This property was introduced in Qt Mobility 1.0.
Access functions:
qint64 | position () const |
void | setPosition ( qint64 position ) |
Notifier signal:
void | positionChanged ( qint64 position ) |
This property holds the seek-able status of the current media.
If seeking is supported this property will be true; false otherwise. The status of this property may change across the life time of the QMediaPlayer object, use the seekableChanged signal to monitor changes.
This property was introduced in Qt Mobility 1.0.
Access functions:
bool | isSeekable () const |
Notifier signal:
void | seekableChanged ( bool seekable ) |
This property holds the media player's playback state.
By default this property is QMediaPlayer::Stopped
This property was introduced in Qt Mobility 1.0.
Access functions:
State | state () const |
Notifier signal:
void | stateChanged ( QMediaPlayer::State state ) |
See also mediaStatus(), play(), pause(), and stop().
This property holds the video availability status for the current media.
If available, the QVideoWidget class can be used to view the video. As the life time of QMediaPlayer can be longer than the playback of one QMediaContent, this property may change over time, the videoAvailableChanged signal can be used to monitor it's status.
This property was introduced in Qt Mobility 1.0.
Access functions:
bool | isVideoAvailable () const |
Notifier signal:
void | videoAvailableChanged ( bool videoAvailable ) |
See also QVideoWidget and QMediaContent.
This property holds the current playback volume.
The playback volume is a linear in effect and the value can range from 0 - 100, values outside this range will be clamped.
This property was introduced in Qt Mobility 1.0.
Access functions:
int | volume () const |
void | setVolume ( int volume ) |
Notifier signal:
void | volumeChanged ( int volume ) |
Construct a QMediaPlayer that uses the playback service from provider, parented to parent and with flags.
If a playback service is not specified the system default will be used.
This function was introduced in Qt Mobility 1.0.
Destroys the player object.
Signals the availability of audio content has changed to available.
This function was introduced in Qt Mobility 1.0.
Signal the amount of the local buffer filled as a percentage by percentFilled.
This function was introduced in Qt Mobility 1.0.
Returns the current network access point in use. If a default contructed QNetworkConfiguration is returned this feature is not available or that none of the current supplied configurations are in use.
This function was introduced in Qt Mobility 1.2.
Signal the duration of the content has changed to duration, expressed in milliseconds.
This function was introduced in Qt Mobility 1.0.
Returns the current error state.
This function was introduced in Qt Mobility 1.0.
Signals that an error condition has occurred.
This function was introduced in Qt Mobility 1.0.
See also errorString().
Returns the level of support a media player has for a mimeType and a set of codecs.
The flags argument allows additional requirements such as performance indicators to be specified.
This function was introduced in Qt Mobility 1.0.
Signals that the current playing content will be obtained from media.
This function was introduced in Qt Mobility 1.0.
See also media().
Signals that the status of the current media has changed.
This function was introduced in Qt Mobility 1.0.
See also mediaStatus().
Returns the stream source of media data.
This is only valid if a stream was passed to setMedia().
This function was introduced in Qt Mobility 1.0.
See also setMedia().
Signal the mute state has changed to muted.
This function was introduced in Qt Mobility 1.0.
Signal that the active in use network access point has been changed to configuration and all subsequent network access will use this configuration.
This function was introduced in Qt Mobility 1.2.
Pause playing the current source.
This function was introduced in Qt Mobility 1.0.
Start or resume playing the current source.
This function was introduced in Qt Mobility 1.0.
Signals the playbackRate has changed to rate.
This function was introduced in Qt Mobility 1.0.
Signal the position of the content has changed to position, expressed in milliseconds.
This function was introduced in Qt Mobility 1.0.
Signals the seekable status of the player object has changed.
This function was introduced in Qt Mobility 1.0.
Sets the network access points for remote media playback. configurations contains, in ascending preferential order, a list of configuration that can be used for network access.
This will invalidate the choice of previous configurations.
This function was introduced in Qt Mobility 1.2.
Attach a QVideoWidget video output to the media player.
If the media player has already video output attached, it will be replaced with a new one.
This function was introduced in Qt Mobility 1.0.
Attach a QGraphicsVideoItem video output to the media player.
If the media player has already video output attached, it will be replaced with a new one.
This function was introduced in Qt Mobility 1.0.
Sets a video surface as the video output of a media player.
If a video output has already been set on the media player the new surface will replace it.
This function was introduced in Qt Mobility 1.2.
Signal the state of the Player object has changed.
This function was introduced in Qt Mobility 1.0.
Stop playing, and reset the play position to the beginning.
This function was introduced in Qt Mobility 1.0.
This function is deprecated.
Returns a list of MIME types supported by the media player.
The flags argument causes the resultant list to be restricted to MIME types which can be supported given additional requirements, such as performance indicators.
This function may not return useful results on some platforms, and support for a specific file of a given mime type is not guaranteed even if the mime type is in general supported. In addition, in some cases this function will need to load all available media plugins and query them for their support, which may take some time.
This function was introduced in Qt Mobility 1.0.
Signal the availability of visual content has changed to videoAvailable.
This function was introduced in Qt Mobility 1.0.
Signal the playback volume has changed to volume.
This function was introduced in Qt Mobility 1.0.
© 2008-2011 Nokia Corporation and/or its subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation in Finland and/or other countries worldwide.
All other trademarks are property of their respective owners. Privacy Policy
Licensees holding valid Qt Commercial licenses may use this document in accordance with the Qt Commercial License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Nokia.
Alternatively, this document may be used under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.