J'aimerais que mon PC Ubuntu envoie des commandes audio bluetooth (lecture / pause, chanson suivante / précédente et tourner vers le haut / bas) vers un autre appareil diffusant de la musique via bluetooth. En d'autres termes, j'aimerais implémenter mon PC Ubuntu en "faisant semblant" d'être une sorte d'écouteurs bluetooth, qui sont capables de changer de piste, de mettre en pause et de reprendre la musique.
J'ai la configuration suivante illustrée avec les captures d'écran pavucontrol ci-dessous (l' pt2
appareil est-il connecté via Bluetooth):
Dans cette configuration, le streaming fonctionne comme prévu (je peux entendre la musique en streaming pt2
), mais je n'ai trouvé aucun moyen de lui envoyer un signal tel que la pause / reprise de la lecture ou le changement de piste.
J'ai déjà découvert qu'il existe de nombreux protocoles Bluetooth permettant des fonctions spécifiques. Si j'ai bien compris les spécifications, ce qui m'intéresse, c'est A2DP, qui est la façon dont les appareils sont connectés maintenant. Mais sous le menu déroulant de profil, j'ai également des options HSP / HFP headset head unit, HSP / HFPheadset gateway et off.
Je vais développer ma propre application en Python qui permettra d'envoyer de telles commandes, donc je suis intéressé à les envoyer via l'API Python ou via les commandes bash.
Je pose cette question parce que je suis intéressé par la façon dont je peux communiquer avec les appareils Bluetooth.
la source
Réponses:
Inspiré par @kenn, j'ai décidé d'aller plus loin dans
dbus
etd-feet
outils. Finalement, j'ai atteint mon objectif en utilisant la commande suivante:ce qui a bien sûr déclenché la lecture de musique sur mon appareil mobile connecté à mon PC via Bluetooth.
De manière générique pour les appareils Bluetooth, cette commande ressemblerait à:
Afin de vérifier l'exécution de l'adresse MAC de vos appareils
bt-devices -l
. Il répertorie tous les périphériques connus (mais pas nécessairement connectés ou même découverts) avec l'adresse MAC entre parenthèses.Afin de trouver la liste des commandes autorisées, installez
d-feet
avecsudo apt install d-feet
. Après l'avoir exécuté, appliquez la recherche debluez
requête sous l'System Bus
onglet et recherchez l'entrée avec le MAC de vos appareils:Il existe des méthodes similaires à celles qui utilisent des écouteurs Bluetooth sous
org.bluez.MediaControl1
. Mais, lorsque vous parcourez ces arbres, vous pouvez trouver A WAY more, cela vaut vraiment votre attention.dbus-send
est une commande pour envoyer des signaux en utilisantdbus
.--system
Le commutateur indique que nous voulons utiliser des éléments deSystem Bus
l'onglet d-feet. Je ne l'ai pas encore essayé, mais je suppose que--print-reply
c'est uniquement à des fins de débogage et n'est pas obligatoire.--dest=org.blez
se réfère à l'Name
en-tête d-pieds./org/bluez/hci0/dev_<mobile_bluetooth_device_mac_address_with_numbers_underscore_separated>
et seorg.bluez.MediaControl1.<command>
référer aux chemins de l'arborescence d'objets.la source
dbus-send
commandes aux boutons multimédias de votre PC ou comment avez-vous l'intention de les utiliser?