80 votes

Comment conserver le profil audio A2DP tout en utilisant un micro avec une oreillette Bluetooth ? (Push-to-talk)

J'ai un casque CEL-TEC F5A. La spécification dit :

Bluetooth 4.0, profils : Casque, Mains libres, A2DP, AVRCP/HSP/HFP

Il joue bien avec Lecture haute fidélité (puits A2DP) profil.

Lorsque je veux basculer l'entrée audio vers le microphone de l'oreillette, le profil de sortie change automatiquement en Unité de tête du casque (HFS/HFP) et la qualité est terrible - comme un son 8bit ou quelque chose comme ça. Lorsque je repasse en mode A2DP, l'entrée est de nouveau sur le micro du bureau.

J'ai lu quelques autres questions et il semble que A2DP soit censé ne pas prendre en charge l'entrée, n'est-ce pas ? Mais la partie HFP dans HFS/HFP est High Fidelity Playback je suppose ? Cela semble pouvoir fonctionner comme un casque et ne pas ressembler à un téléphone des années 1950.

Comment pourrais-je simplifier le passage d'un profil à l'autre de manière à ce que ce soit HFS/HFP lorsque je parle et A2DP lorsque j'écoute ? Par exemple, comme un "push-to-talk".

Ubuntu 17.10, pas de personnalisation du son IIRC, tout est à jour.
https://www.kabelmanie.cz/cel-tec-f5a-active-noise-bluetooth-stereo-sluchatka-s-mikrofonem/

Mon résultat :

$ pactl list cards
Card #0
        Name: alsa_card.pci-0000_00_03.0
...

Card #4
        Name: bluez_card.00_19_5D_25_6F_6C
        Driver: module-bluez5-device.c
        Owner Module: 30
        Properties:
                device.description = "F5A"
                device.string = "00:19:5D:25:6F:6C"
                device.api = "bluez"
                device.class = "sound"
                device.bus = "bluetooth"
                device.form_factor = "headset"
                bluez.path = "/org/bluez/hci0/dev_00_19_5D_25_6F_6C"
                bluez.class = "0x240404"
                bluez.alias = "F5A"
                device.icon_name = "audio-headset-bluetooth"
                device.intended_roles = "phone"
        Profiles:
                a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 10, available: yes)
                headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 20, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: a2dp_sink
        Ports:
                headset-output: Headset (priority: 0, latency offset: 0 usec, available)
                        Part of profile(s): a2dp_sink, headset_head_unit
                headset-input: Headset (priority: 0, latency offset: 0 usec)
                        Part of profile(s): headset_head_unit

Le problème ici n'est pas que le microphone ne fonctionne pas, mais plutôt que la qualité audio se dégrade lorsqu'il est activé.

1voto

Rekesh Points 101

Je suis venu ici avec le même problème avec mon Poly Voyager Focus UC. Dommage que le support dans la pile bluetooth ne soit pas (encore) présent. Le Voyager Focus est également livré avec un dongle usb qui peut être utilisé pour le connecter. Avec le dongle, Linux voit l'oreillette comme une carte son, donc la pile BT de Linux n'est pas impliquée, et la qualité du son bidirectionnel est bonne. Le seul petit problème est que si j'éteins le casque, Linux ne le voit pas et ne renvoie pas la lecture audio vers les haut-parleurs, je dois donc sélectionner manuellement le périphérique de sortie sonore.

Ailleurs sur Internet, j'ai lu que des personnes avaient également réussi à contourner ce problème en utilisant un adaptateur audio Bluetooth USB tiers et en connectant leur casque à celui-ci au lieu du système Bluetooth. D'après ce que j'ai pu trouver, pour que cela fonctionne, l'oreillette et l'adaptateur audio Bluetooth doivent tous deux prendre en charge la "parole à large bande" dans leur HSP (Headset Profile), ce qui est facultatif. La parole à large bande n'est que de 16 kHz / 16 bits, mais c'est toujours une grande amélioration par rapport au canal standard HSP de 8 kHz. La pile Bluetooth de Linux ne prend pas encore en charge l'audio à large bande. Ce que je ne sais pas, c'est si mon dongle Voyager Focus utilise le bluetooth standard avec la parole à large bande, ou s'il utilise une extension de protocole sans fil propriétaire.

0voto

Bernardo Pineda Points 71

De nombreux casques Bluetooth se présentent comme deux appareils distincts, l'un comme casque / haut-parleur (sans micro) et l'autre comme casque (avec micro). La désactivation du périphérique casque forcera l'utilisation de A2DP. Cela pourrait également être scriptée peut-être d'une manière plus facile que les autres exemples dans ce fil.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X