diff options
author | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-12-16 12:15:00 +0100 |
---|---|---|
committer | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-12-17 14:47:25 +0000 |
commit | 997fb07cff2579615f55ad417ea4a4be4e1bc400 (patch) | |
tree | 843ca925dbd7d77401613b6c41702586ebc47397 /src/multimedia/playback | |
parent | 88d2477f9cdf302d2f27b3d0929c1990778be75d (diff) |
Add playing property to QMediaPlayer
Pick-to: 6.5
Fixes: QTBUG-100087
Change-Id: If6769d544a66da5e1e740bcbcab4fa735cd4b1b8
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Diffstat (limited to 'src/multimedia/playback')
-rw-r--r-- | src/multimedia/playback/qmediaplayer.cpp | 17 | ||||
-rw-r--r-- | src/multimedia/playback/qmediaplayer.h | 4 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp index 13d3c86c0..94a068fe9 100644 --- a/src/multimedia/playback/qmediaplayer.cpp +++ b/src/multimedia/playback/qmediaplayer.cpp @@ -102,6 +102,8 @@ void QMediaPlayerPrivate::setState(QMediaPlayer::PlaybackState ps) Q_Q(QMediaPlayer); if (ps != state) { + if (ps == QMediaPlayer::PlayingState || state == QMediaPlayer::PlayingState) + emit q->playingChanged(ps == QMediaPlayer::PlayingState); state = ps; emit q->playbackStateChanged(ps); } @@ -410,6 +412,15 @@ bool QMediaPlayer::isSeekable() const } /*! + Returns true if the media is currently playing. +*/ +bool QMediaPlayer::isPlaying() const +{ + Q_D(const QMediaPlayer); + return d->state == QMediaPlayer::PlayingState; +} + +/*! Returns the current playback rate. */ qreal QMediaPlayer::playbackRate() const @@ -1019,6 +1030,12 @@ QMediaMetaData QMediaPlayer::metaData() const */ /*! + \qmlsignal QtMultimedia::MediaPlayer::playingChanged() + + This signal is emitted when the media playback starts or stops. +*/ + +/*! \enum QMediaPlayer::MediaStatus Defines the status of a media player's current media. diff --git a/src/multimedia/playback/qmediaplayer.h b/src/multimedia/playback/qmediaplayer.h index 8e92cf3f2..5e89e34ca 100644 --- a/src/multimedia/playback/qmediaplayer.h +++ b/src/multimedia/playback/qmediaplayer.h @@ -29,6 +29,7 @@ class Q_MULTIMEDIA_EXPORT QMediaPlayer : public QObject Q_PROPERTY(bool hasAudio READ hasAudio NOTIFY hasAudioChanged) Q_PROPERTY(bool hasVideo READ hasVideo NOTIFY hasVideoChanged) Q_PROPERTY(bool seekable READ isSeekable NOTIFY seekableChanged) + Q_PROPERTY(bool playing READ isPlaying NOTIFY playingChanged) Q_PROPERTY(qreal playbackRate READ playbackRate WRITE setPlaybackRate NOTIFY playbackRateChanged) Q_PROPERTY(int loops READ loops WRITE setLoops NOTIFY loopsChanged) Q_PROPERTY(PlaybackState playbackState READ playbackState NOTIFY playbackStateChanged) @@ -132,6 +133,8 @@ public: bool isSeekable() const; qreal playbackRate() const; + bool isPlaying() const; + int loops() const; void setLoops(int loops); @@ -167,6 +170,7 @@ Q_SIGNALS: void bufferProgressChanged(float progress); void seekableChanged(bool seekable); + void playingChanged(bool playing); void playbackRateChanged(qreal rate); void loopsChanged(); |