summaryrefslogtreecommitdiffstats
path: root/src/multimedia/playback
diff options
context:
space:
mode:
authorPiotr Srebrny <piotr.srebrny@qt.io>2022-12-16 12:15:00 +0100
committerPiotr Srebrny <piotr.srebrny@qt.io>2022-12-17 14:47:25 +0000
commit997fb07cff2579615f55ad417ea4a4be4e1bc400 (patch)
tree843ca925dbd7d77401613b6c41702586ebc47397 /src/multimedia/playback
parent88d2477f9cdf302d2f27b3d0929c1990778be75d (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.cpp17
-rw-r--r--src/multimedia/playback/qmediaplayer.h4
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();