D'abord, le problème: j'utilise un lecteur MP3 Cowon comme lecteur de musique principal avec des bouchons d'oreille de base.
Il propose A2DP & j'aimerais que mon netbook (sous UNE 10.04) agisse en tant que récepteur.
Quelques ressources sur le Web à propos de a2dp, mais la plupart sont obsolètes:
Pour utiliser votre ordinateur Ubuntu en tant que périphérique Bluetooth a2dp, vous devez d’abord le configurer pour s’enregistrer en tant que point de terminaison "récepteur a2dp".
Le paquet bluez dans Ubuntu (10.04 et supérieur) inclut un utilitaire appelé sdptool qui peut être utilisé pour vérifier si un périphérique Bluetooth est configuré en tant que récepteur a2dp ou non. Voici la sortie de sdptool exécutée avec mon casque Bluetooth (l'adresse provient de la boîte de dialogue "Paramètres Bluetooth" du gnome-control-center):
$ sdptool search --bdaddr 00:18:16:3A:3B:D4 a2snk
Searching for a2snk on 00:18:16:3A:3B:D4 ...
Service RecHandle: 0x10002
Service Class ID List:
"Audio Sink" (0x110b)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x102
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0102
$
et voici la sortie lorsqu’elle est exécutée sur ma machine Ubuntu locale:
$ sdptool search --bdaddr local a2snk
Searching for a2snk on FF:FF:FF:00:00:00 ...
$
Cela montre que la machine Ubuntu ne se présente pas comme un évier a2dp. Cependant, il se présente comme une source A2DP:
$ sdptool search --bdaddr local a2src
Searching for a2src on FF:FF:FF:00:00:00 ...
Service Name: Audio Source
Service RecHandle: 0x10003
Service Class ID List:
"Audio Source" (0x110a)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x102
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0102
Cela permet à la machine Ubuntu d’apparier correctement avec le casque en tant que source audio, mais ne permet pas d’utiliser la machine Ubuntu comme sortie (puits) pour l’audio Bluetooth.
Si vous éditez /etc/bluetooth/audio.conf
, vous pouvez activer la prise en charge du récepteur a2dp en ajoutant cette ligne sous la section [General]
:
Enable=Source
Ceci est à la fois contre-intuitivement nommé - puisque nous ajoutons ici est la prise en charge des récepteurs Bluetooth, et non des sources - et en contradiction avec le commentaire dans ce fichier qui prétend que tous les services implémentés sont activés par défaut. :(
Après avoir apporté cette modification, vous devrez redémarrer bluetoothd en exécutant Sudo service bluetooth restart
.
Si vous avez déjà couplé votre périphérique Android et votre ordinateur Ubuntu en essayant d'obtenir ce travail, vous devrez supprimer le couplage des deux côtés et les réassocier afin d'obtenir Android. reconnaître Ubuntu en tant que périphérique audio disponible.
Une fois que vous avez terminé, le périphérique Android doit s'afficher en tant que périphérique d'entrée sous PulseAudio. Si PulseAudio ne détecte pas la nouvelle source audio Bluetooth, vous devrez peut-être installer et charger le module Bluetooth à partir de la ligne de commande:
Sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover
Ensuite, vous devez indiquer à PulseAudio d’acheminer cette entrée audio vers votre sortie (par exemple, vos haut-parleurs ou un casque Bluetooth) à l’aide d’une connexion en boucle (une ligne droite reliant une source à un récepteur).
Des versions ultérieures de PulseAudio peuvent inclure un module-politique-bluetooth et il a peut-être déjà configuré un périphérique de bouclage, mais cela ne semble pas être le cas le plus courant.
Un moyen semi-automatique de configurer la connexion en boucle (si le programme d'interface graphique pavucontrol est également installé) consiste à simplement charger le module en boucle et à le configurer. en utilisant pavucontrol, puisque PulseAudio se souviendra des paramètres. Le chargement du module se fait depuis la commande en utilisant pactl:
pactl load-module module-loopback
Ne craignez rien si vous n'entendez encore rien, ou si vous obtenez des effets de retour étranges, nous devons indiquer au périphérique nouvellement créé à quelle source accéder et à quel puits envoyer la sortie.
Ouvrez pavucontrol et ouvrez son onglet Configuration. Assurez-vous que votre périphérique Bluetooth apparaît ici (après l'appariement à l'aide de blueman-manager ou d'un autre outil Bluetooth) et que le profil est défini sur A2DP. Basculez sur l'onglet Périphériques d'entrée et assurez-vous que votre périphérique s'affiche également ici et qu'il n'est pas mis en sourdine. Passez maintenant à l'onglet Enregistrement et faites en sorte que la connexion en boucle nouvellement créée utilise votre appareil en tant que source avec la zone de sélection en regard du bouton Muet. Basculez sur l'onglet Lecture pour sélectionner l'évier que la connexion en boucle doit utiliser de la même manière. Si le périphérique de bouclage ne s'affiche pas dans les onglets, assurez-vous que tous les flux sont affichés à l'aide de la zone de sélection située au bas de chaque onglet.
Vous devriez maintenant entendre le son de votre appareil, s'il est en cours de lecture, dans vos haut-parleurs ou dans le récepteur de sortie que vous avez sélectionné. Lorsque votre périphérique est déconnecté, le périphérique en boucle retourne à un récepteur et à une source disponibles, ce qui peut ne pas être souhaitable. Veillez donc à désactiver le périphérique en boucle jusqu'à ce que vous en ayez besoin. La connexion en boucle restaure le même récepteur/source lors de la prochaine connexion du même périphérique Bluetooth grâce au module - * - modules de restauration.
Si cela ne fonctionne pas ou si vous n'avez pas pavucontrol installé, vous pouvez plutôt configurer le bouclage à l'aide de la méthode suivante:
pactl load-module module-loopback source_dont_move=yes source=$BTSOURCE sink=$SINK
(Remplacez $BTSOURCE
par le nom de source de votre périphérique Bluetooth tel que vu par PulseAudio, par exemple bluez_source.14_DA_E9_2A_D7_57
; et remplacez $SINK
par le nom de la sortie PulseAudio à laquelle vous voulez envoyer le flux audio, par exemple: alsa_output.pci-0000_00_1b.0.analog-stereo
. Vous pouvez laisser le débat complètement et le faire revenir à un évier actif, et le changer plus tard via pavucontrol.)
$SINK
avec pactl list sinks
, il est affiché après Name:
$BTSOURCE
avec pactl list sources
source_dont_move
empêche la connexion en boucle de revenir à une autre source audio lorsque le périphérique Bluetooth est déconnecté. Au lieu de cela, il est supprimé et vous devrez le configurer à nouveau la prochaine fois.Voici à quoi un exemple ressemblerait (rappelez-vous de remplacer le :
par le _
dans l'adresse Bluetooth!):
pactl load-module module-loopback source_dont_move=yes source=bluez_source.14_DA_E9_2A_D7_57 sink=alsa_output.pci-0000_00_14.2.analog-stereo
Si le chargement du module de secours échoue, essayez de supprimer l'argument source_dont_move=yes
. Ce dernier a été rendu disponible pour la première fois dans la version 1.0. Veillez toutefois à supprimer cette connexion en boucle avant de supprimer ce son, ou si, par exemple, le microphone de votre ordinateur portable n’est pas mis en sourdine, vous risquez d’obtenir des commentaires très mauvais. Pour supprimer manuellement cette connexion en boucle lorsque vous avez terminé, exécutez:
pactl unload-module $(pactl list short modules | grep "loopback.*$BTSOURCE" | cut -f1)
Encore une fois, remplacez $BTSOURCE
par le nom de la source PulseAudio qui fait référence à votre périphérique Bluetooth. Vous pouvez également décharger le module à l'aide de l'ID renvoyé par la commande load-module:
$ pactl load-module module-loopback source_dont_move=yes source=bluez_source.14_DA_E9_2A_D7_57 sink=alsa_output.pci-0000_00_14.2.analog-stereo
15
$ pactl unload-module 15
Références:
J'utilise blueman, installé à partir du centre logiciel Ubuntu. Un clic droit sur l'icône blueman * -> "services locaux" -> audio-> Vérifier "réception audio avancée" est basculé. Btw je l'utilise pour écouter dans mon ordinateur portable Ubuntu 11.10 ce que je joue sur mon téléphone Android.
* L'icône blueman apparaît dans le coin inférieur droit de gnome Shell + Ubuntu 11.10, c'est mon cas. J'espère que cela vous sera utile.
C'est vraiment simple maintenant dans Ubuntu 12.04
Connectez votre appareil Bluetooth
Recherchez votre appareil Bluetooth et notez son numéro de source:
pactl list sources
Créez une boucle pour le périphérique Bluetooth:
pactl load-module module-loopback source=$SOURCE_NUMBER
Où $ SOURCE_NUMBER est le numéro que vous avez noté précédemment.
Par exemple, j'ai entré ce qui suit pour que la lecture audio fonctionne:
$ pactl load-module module-loopback source=3
C'est tout! J'ai trouvé la solution dans la réponse du haut un peu compliquée, je l'ai donc simplifiée (beaucoup moins de dactylographie et de copier/coller). Bien que ma solution ne fonctionne probablement pas si vous supprimez tous les périphériques audio répertoriés avant le périphérique Bluetooth par pactl list sources
.
N'oubliez pas non plus de retirer le module de bouclage avant de déconnecter le périphérique Bluetooth:
Notez le numéro de module du périphérique de bouclage que vous avez créé:
pactl list short modules
Supprimer le périphérique de bouclage:
pactl unload-module $MODULE_NUMBER
Les réponses précédentes étaient écrites avant la publication de 12.04, alors je suis sûr qu'il y a eu des changements. Par exemple, je n'ai pas eu à activer manuellement l'utilisation de périphériques Bluetooth comme source audio (cette option était activée par défaut). Cependant, je dois parfois basculer le profil "Media Audio" dans les paramètres Bluetooth sur mon téléphone (Samsung Captivate exécutant CyanogenMod 9.1.0).
Il existe probablement un moyen de tirer parti de dbus-monitor en utilisant un script Shell pour surveiller les connexions de périphérique Bluetooth A2DP et charger automatiquement un module de bouclage pour celui-ci, mais cela me dépasse un peu.
Espérons que nous n’aurons plus besoin de le faire manuellement dans Ubuntu 12.10.
Pour la version 13.04, associez votre périphérique source avec l’ordinateur portable Ubuntu et tout fonctionne! Très cool de constater que c'était aussi simple que cela maintenant.
Dans Ubuntu 16.04, cela fonctionne immédiatement.
Solution encore plus facile que la réponse.
Vous pouvez simplement aller
Sudo apt-get install pulseaudio*
Puis redémarrez. Après le redémarrage, connectez-vous à Bluetooth et écoutez simplement la musique sur votre téléphone. Tout sera transmis à votre ordinateur et diffusé sur les haut-parleurs de l'ordinateur.
Et oui! vous êtes les bienvenus.