Para usar su máquina Ubuntu como un dispositivo Bluetooth a2dp, primero debe configurarlo para que se registre como un punto final "sumidero a2dp".
El paquete bluez en Ubuntu (10.04 y superior) incluye una utilidad llamada sdptool que puede usarse para verificar si un dispositivo Bluetooth está configurado como un receptor a2dp o no. Aquí está la salida de sdptool ejecutada en mi auricular Bluetooth (la dirección se toma del cuadro de diálogo "Configuración de Bluetooth" en el centro de control de gnome):
$ 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
$
y aquí está el resultado cuando se ejecuta contra mi máquina Ubuntu local:
$ sdptool search --bdaddr local a2snk
Searching for a2snk on FF:FF:FF:00:00:00 ...
$
Esto muestra que la máquina Ubuntu no se anuncia como un sumidero a2dp. Sin embargo, se está publicitando como una fuente 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
Esto permite que la máquina Ubuntu se empareje correctamente con los auriculares como fuente de audio, pero no permite usar la máquina Ubuntu como salida (receptor) para audio Bluetooth.
Si edita /etc/bluetooth/audio.conf
, puede habilitar el soporte de sumidero a2dp agregando esta línea debajo de la [General]
sección:
Enable=Source
Esto tiene un nombre contradictorio, ya que lo que estamos agregando aquí es la compatibilidad con el receptor Bluetooth, no la compatibilidad con la fuente, y en contradicción con el comentario en este archivo que afirma que todos los servicios implementados están habilitados de forma predeterminada. :(
Después de realizar este cambio, deberá reiniciar bluetoothd ejecutando sudo service bluetooth restart
.
Si previamente ha emparejado su dispositivo Android y su computadora Ubuntu mientras intentaba hacer este trabajo, necesitará eliminar el emparejamiento en ambos lados y volver a emparejarlos para que Android reconozca Ubuntu como un dispositivo de audio disponible.
Una vez que haya hecho esto, el dispositivo Android debería aparecer como un dispositivo de entrada en PulseAudio. Si PulseAudio no detecta la nueva fuente de audio Bluetooth, es posible que deba instalar y cargar el módulo Bluetooth, desde la línea de comandos:
sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover
Luego, debe decirle a PulseAudio que enrute esta entrada de audio a su salida / receptor (como sus altavoces o auriculares Bluetooth) utilizando una conexión de bucle invertido (una línea recta desde una fuente a un receptor).
Las versiones posteriores de PulseAudio pueden tener una política de módulo bluetooth incluida y puede que ya haya configurado un dispositivo de bucle invertido para usted, pero este no parece ser el caso más común.
Una forma semiautomática para configurar la conexión de bucle invertido, si también tiene instalado el programa GUI de pavucontrol, es simplemente cargar el módulo de bucle invertido y configurarlo mediante pavucontrol, ya que PulseAudio recordará la configuración. La carga del módulo se realiza desde el comando usando pactl:
pactl load-module module-loopback
No temas si aún no escuchas nada, o si obtienes efectos de retroalimentación extraños, tenemos que decirle al dispositivo recién creado de qué fuente recibir entrada y a qué sumidero enviar primero la salida.
Abra pavucontrol y abra su pestaña Configuración. Asegúrese de que su dispositivo Bluetooth aparezca aquí (después de emparejarlo con blueman-manager u otra herramienta Bluetooth) y que el perfil esté configurado en A2DP. Cambie a la pestaña Dispositivos de entrada y asegúrese de que su dispositivo aparezca aquí también y que no esté silenciado. Ahora cambie a la pestaña Grabación y haga que la conexión de bucle invertido recién creada use su dispositivo como fuente con el cuadro de selección junto al botón de silencio. Cambie a la pestaña Reproducción para seleccionar el sumidero que la conexión de bucle invertido debe usar de la misma manera. Si el dispositivo de bucle invertido no aparece en las pestañas, asegúrese de que todas las transmisiones se muestren usando el cuadro de selección en la parte inferior de cada pestaña.
Ahora debería escuchar el audio de su dispositivo, si se está reproduciendo, en sus altavoces o en cualquier receptor de salida que haya seleccionado. Cuando su dispositivo está desconectado, el dispositivo de bucle invertido recurrirá a un sumidero y fuente disponible, lo que puede no ser deseable, así que asegúrese de silenciar el dispositivo de bucle invertido hasta que lo necesite. La conexión de bucle invertido restaurará el mismo receptor / fuente la próxima vez que se conecte el mismo dispositivo Bluetooth gracias al módulo - * - módulos de restauración.
Si eso no funciona , o si no tiene instalado pavucontrol, puede configurar el loopback usando el siguiente método:
pactl load-module module-loopback source_dont_move=yes source=$BTSOURCE sink=$SINK
(Reemplace $BTSOURCE
con el nombre de la fuente de su dispositivo Bluetooth como lo ve PulseAudio, por ejemplo bluez_source.14_DA_E9_2A_D7_57
; y reemplácelo $SINK
con el nombre de la salida de PulseAudio a la que desea enviar la transmisión de audio, por ejemplo:. alsa_output.pci-0000_00_1b.0.analog-stereo
Puede omitir por completo el argumento del receptor y hacer que retroceda a un fregadero activo, y cámbielo más tarde a través de pavucontrol.)
- Puedes encontrar
$SINK
con pactl list sinks
, se muestra despuésName:
- Del mismo modo puedes ver el
$BTSOURCE
conpactl list sources
- El
source_dont_move
argumento evita que la conexión de bucle invertido vuelva a caer a otra fuente de audio cuando se desconecta el dispositivo Bluetooth. En su lugar, se elimina y tendrá que configurarlo de nuevo la próxima vez.
Así es como se vería un ejemplo (¡recuerde reemplazarlo :
con _
en la dirección 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 la carga del módulo de respaldo falla, intente eliminar el source_dont_move=yes
argumento, primero estuvo disponible en la versión 1.0. Sin embargo, tenga cuidado de eliminar esta conexión de bucle invertido antes de soltar este audio, o si, por ejemplo, el micrófono de su computadora portátil no está silenciado, puede recibir comentarios muy malos. Para abandonar esta conexión de bucle invertido manualmente cuando haya terminado, ejecute:
pactl unload-module $(pactl list short modules | grep "loopback.*$BTSOURCE" | cut -f1)
Nuevamente, reemplácelo $BTSOURCE
con el nombre de la fuente PulseAudio que se refiere a su dispositivo Bluetooth. También puede descargar el módulo utilizando la identificación devuelta por el comando 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
Referencias
pactl load-module module-bluethooth-discover
falla en ubuntu studio 14.04. Por lo tanto, no veo ningunabluez
fuentepulseaudio
, aunque mi teléfono ve correctamente la PC como un receptor de audio. ¿Algunas ideas?pactl list sources short
no muestra la fuente de bluez para usted, he encontrado dos posibles soluciones: llame agdbus call --system --dest org.bluez --object-path /org/bluez/XXX/hci0/dev_XX_XX_XX_XX_XX_XX --method org.bluez.AudioSource.Connect
where (la ruta incluye la dirección BD del dispositivo y la ruta del adaptador con la que puede obtenergdbus call --system --dest org.bluez --object-path / --method org.bluez.Manager.DefaultAdapter
). O use d-feet como se explica aquí . De lo contrario, conéctese del lado del teléfono y comience a reproducir algo.Yo uso blueman, instalado desde el centro de software de Ubuntu. Al hacer clic con el botón derecho en el ícono de blueman * -> "servicios locales" -> audio-> Verifique que se indique "recepción de audio avanzada" Por cierto, lo uso para escuchar en mi laptop Ubuntu 11.10 lo que juego en mi teléfono Android.
* El icono de Blueman se muestra en la esquina inferior derecha en gnome shell + ubuntu 11.10, ese es mi caso. Espero que esto sea útil de alguna manera para ti.
fuente
Es realmente simple ahora en Ubuntu 12.04
Conecte su dispositivo bluetooth
Busque su dispositivo bluetooth y tome nota de su número de origen:
Haga un loopback para el dispositivo bluetooth:
Donde $ SOURCE_NUMBER es el número que tomó nota anteriormente.
Por ejemplo, ingresé lo siguiente para que la reproducción de audio funcione:
¡Eso es! Encontré que la solución en la respuesta superior era un poco complicada, así que la simplifiqué de esta manera (mucho menos escribiendo y copiando / pegando). Aunque mi solución probablemente se romperá si eliminas los dispositivos de audio enumerados antes del dispositivo bluetooth
pactl list sources
.Además, no olvide quitar el módulo de bucle invertido antes de desconectar el dispositivo bluetooth:
Tome nota del número de módulo del dispositivo de bucle invertido que creó:
Retire el dispositivo de bucle invertido:
Las respuestas anteriores se escribieron antes del lanzamiento de 12.04, así que estoy seguro de que hubo algunos cambios. Por ejemplo, no tuve que habilitar manualmente el uso de dispositivos bluetooth como fuente de audio (estaba habilitado de forma predeterminada). Sin embargo, a veces tengo que alternar el perfil "Media Audio" en la configuración de mi bluetooth en mi teléfono (Samsung Captivate con CyanogenMod 9.1.0).
Probablemente haya una manera de aprovechar dbus-monitor mediante el uso de un script de shell para observar las conexiones del dispositivo bluetooth A2DP y cargar automáticamente un módulo de bucle invertido, pero eso está un poco sobre mi cabeza.
Esperemos que ya no necesitemos hacer esto manualmente en Ubuntu 12.10.
fuente
Para 13.04, empareje su dispositivo fuente con la computadora portátil ubuntu y ¡simplemente funciona! Es genial descubrir que ahora era así de fácil.
fuente
En Ubuntu 16.04 esto funciona desde el primer momento.
fuente
Solución aún más fácil que la respuesta.
Puedes simplemente ir
Luego reiniciar. Después de reiniciar, conéctese a su Bluetooth y simplemente reproduzca la música en su teléfono. Todo se transmitirá a su computadora y se reproducirá en los altavoces de la computadora.
¡Y si! De nada.
fuente
apt-get
usa expresiones regulares, no comodines. Por lo tanto, no tiene idea de lo que se instalará usandopulseaudio*
(pista: no son solo los paquetes que comienzan conpulseaudi
). Y PulseAudio ya es parte de la instalación predeterminada de Ubuntu.