BluezQt 5.109.0
mediaplayer.h
1/*
2 * BluezQt - Asynchronous BlueZ wrapper library
3 *
4 * SPDX-FileCopyrightText: 2015 David Rosca <nowrep@gmail.com>
5 *
6 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7 */
8
9#ifndef BLUEZQT_MEDIAPLAYER_H
10#define BLUEZQT_MEDIAPLAYER_H
11
12#include <QObject>
13
14#include "bluezqt_export.h"
15#include "mediaplayertrack.h"
16#include "types.h"
17
18namespace BluezQt
19{
20class PendingCall;
21
29class BLUEZQT_EXPORT MediaPlayer : public QObject
30{
31 Q_OBJECT
32 Q_PROPERTY(QString name READ name NOTIFY nameChanged)
33 Q_PROPERTY(Equalizer equalizer READ equalizer WRITE setEqualizer NOTIFY equalizerChanged)
34 Q_PROPERTY(Repeat repeat READ repeat WRITE setRepeat NOTIFY repeatChanged)
35 Q_PROPERTY(Shuffle shuffle READ shuffle WRITE setShuffle NOTIFY shuffleChanged)
36 Q_PROPERTY(Status status READ status NOTIFY statusChanged)
37 Q_PROPERTY(MediaPlayerTrack track READ track NOTIFY trackChanged)
38 Q_PROPERTY(quint32 position READ position NOTIFY positionChanged)
39
40public:
42 enum Equalizer {
47 };
48 Q_ENUM(Equalizer)
49
50
51 enum Repeat {
60 };
61 Q_ENUM(Repeat)
62
63
64 enum Shuffle {
71 };
72 Q_ENUM(Shuffle)
73
74
75 enum Status {
88 };
89 Q_ENUM(Status)
90
91
94 ~MediaPlayer() override;
95
101 MediaPlayerPtr toSharedPtr() const;
102
108 QString name() const;
109
116
124
130 Repeat repeat() const;
131
139
146
154
160 Status status() const;
161
168
174 quint32 position() const;
175
176public Q_SLOTS:
185
194
203
212
221
230
239
240Q_SIGNALS:
244 void nameChanged(const QString &name);
245
250
254 void repeatChanged(Repeat repeat);
255
259 void shuffleChanged(Shuffle shuffle);
260
264 void statusChanged(Status status);
265
270
274 void positionChanged(quint32 position);
275
276private:
277 BLUEZQT_NO_EXPORT explicit MediaPlayer(const QString &path, const QVariantMap &properties);
278
279 class MediaPlayerPrivate *const d;
280
281 friend class MediaPlayerPrivate;
282 friend class DevicePrivate;
283};
284
285} // namespace BluezQt
286
287#endif // BLUEZQT_MEDIAPLAYER_H
Media player track.
Definition mediaplayertrack.h:27
Media player.
Definition mediaplayer.h:30
Equalizer equalizer() const
Returns the equalizer state of the player.
MediaPlayerTrack track() const
Returns the current track.
Repeat
Repeat state.
Definition mediaplayer.h:51
@ RepeatGroup
Repeat group.
Definition mediaplayer.h:59
@ RepeatSingleTrack
Repeat single track.
Definition mediaplayer.h:55
@ RepeatOff
Repeat off.
Definition mediaplayer.h:53
@ RepeatAllTracks
Repeat all tracks.
Definition mediaplayer.h:57
void equalizerChanged(Equalizer equalizer)
Indicates that player's equalizer state have changed.
PendingCall * stop()
Stops playback.
PendingCall * fastForward()
Fast forwards playback.
Shuffle
Shuffle state.
Definition mediaplayer.h:64
@ ShuffleGroup
Shuffle group.
Definition mediaplayer.h:70
@ ShuffleOff
Shuffle off.
Definition mediaplayer.h:66
@ ShuffleAllTracks
Shuffle all tracks.
Definition mediaplayer.h:68
void trackChanged(MediaPlayerTrack track)
Indicates that player's current track have changed.
Repeat repeat() const
Returns the repeat state of the player.
MediaPlayerPtr toSharedPtr() const
Returns a shared pointer from this.
PendingCall * setEqualizer(Equalizer equalizer)
Sets the equalizer state of the player.
PendingCall * setShuffle(Shuffle shuffle)
Sets the shuffle state of the player.
Equalizer
Equalizer state.
Definition mediaplayer.h:42
@ EqualizerOff
Equalizer off.
Definition mediaplayer.h:46
@ EqualizerOn
Equalizer on.
Definition mediaplayer.h:44
Status
Player status.
Definition mediaplayer.h:75
@ Playing
Player is playing.
Definition mediaplayer.h:77
@ Stopped
Player is stopped.
Definition mediaplayer.h:79
@ Error
Error.
Definition mediaplayer.h:87
@ ReverseSeek
Player is reverse seeking.
Definition mediaplayer.h:85
@ Paused
Player is paused.
Definition mediaplayer.h:81
@ ForwardSeek
Player is forward seeking.
Definition mediaplayer.h:83
PendingCall * play()
Resumes playback.
void shuffleChanged(Shuffle shuffle)
Indicates that player's shuffle state have changed.
PendingCall * next()
Switch to next track.
~MediaPlayer() override
Destroys a MediaPlayer object.
PendingCall * rewind()
Rewinds playback.
PendingCall * setRepeat(Repeat repeat)
Sets the repeat state of the player.
Shuffle shuffle() const
Returns the shuffle state of the player.
PendingCall * previous()
Switch to previous track.
void repeatChanged(Repeat repeat)
Indicates that player's repeat state have changed.
void positionChanged(quint32 position)
Indicates that player's playback position have changed.
quint32 position() const
Returns the playback position in milliseconds.
Status status() const
Returns the status of the player.
void nameChanged(const QString &name)
Indicates that player's name have changed.
void statusChanged(Status status)
Indicates that player's status have changed.
PendingCall * pause()
Pauses playback.
QString name() const
Returns the name of the player.
Pending method call.
Definition pendingcall.h:33