InterfaceGPS 0.1.0
Interface embarquée Qt pour navigation, multimédia, caméra et télémétrie
Chargement...
Recherche...
Aucune correspondance
bluetoothmanager.h
Aller à la documentation de ce fichier.
1
9#ifndef BLUETOOTHMANAGER_H
10#define BLUETOOTHMANAGER_H
11
12#include <QObject>
13#include <QtDBus/QtDBus>
14
23class BluetoothManager : public QObject {
24 Q_OBJECT
25
26 // --- PROPRIÉTÉS EXPOSÉES À L'INTERFACE ---
27 Q_PROPERTY(QString title READ title NOTIFY metadataChanged)
28 Q_PROPERTY(QString artist READ artist NOTIFY metadataChanged)
29 Q_PROPERTY(QString album READ album NOTIFY metadataChanged)
30 Q_PROPERTY(bool isPlaying READ isPlaying NOTIFY statusChanged)
31 Q_PROPERTY(qint64 positionMs READ positionMs NOTIFY positionChanged)
32 Q_PROPERTY(qint64 durationMs READ durationMs NOTIFY metadataChanged)
33
34public:
39 explicit BluetoothManager(QObject *parent = nullptr);
40
41 // --- GETTERS ---
42 QString title() const { return m_title; }
43 QString artist() const { return m_artist; }
44 QString album() const { return m_album; }
45 bool isPlaying() const { return m_isPlaying; }
46 qint64 positionMs() const { return m_positionMs; }
47 qint64 durationMs() const { return m_durationMs; }
48
49public slots:
50 // --- COMMANDES MÉDIA ---
51 void next();
52 void previous();
53 void togglePlay();
54
55signals:
56 // --- SIGNAUX DE NOTIFICATION ---
60
61private slots:
66 void handleDBusSignal(const QDBusMessage &msg);
67
68private:
69 // --- MÉTHODES INTERNES ---
70
71 void updateMetadata();
72 void updatePlaybackStatus();
73 void updatePosition();
74
75 void findActivePlayer();
76
81 void connectToService(const QString &service);
82
87 void parseMetadataMap(const QVariantMap &metadata);
88
89 // --- ATTRIBUTS ---
90 QString m_currentService;
91 QString m_title = "En attente...";
92 QString m_artist = "";
93 QString m_album = "";
94 bool m_isPlaying = false;
95
96 qint64 m_positionMs = 0;
97 qint64 m_durationMs = 0;
98
99 QDBusInterface *m_playerInterface = nullptr;
100};
101
102#endif
Gestionnaire de communication avec les lecteurs multimédias du système d'exploitation....
void positionChanged()
Émis lorsque la position de lecture avance.
void togglePlay()
Bascule entre Lecture et Pause.
QString album() const
Retourne le nom de l'album.
void next()
Passe à la piste suivante.
qint64 durationMs() const
Retourne la durée totale de la piste (en millisecondes).
void previous()
Revient à la piste précédente.
QString title() const
Retourne le titre de la piste actuelle.
void statusChanged()
Émis lorsque l'état de lecture change (Play -> Pause).
bool isPlaying() const
Indique si la musique est en cours de lecture.
void metadataChanged()
Émis lorsque la chanson, l'artiste ou l'album change.
qint64 positionMs() const
Retourne la position actuelle dans la piste (en millisecondes).
QString artist() const
Retourne le nom de l'artiste.