Toca o áudio do telefone através do servidor GNU / Linux através do bluetooth

1

Gostaria de deixar meu telefone tocar sua música pelos alto-falantes do meu home-server. Este servidor doméstico é uma caixa OrangePi sem cabeçalho rodando Debian (e com um dongle bluetooth em uma de suas portas USB).

Eu segui o link para os primeiros passos e as coisas parecem estar funcionando bem para a parte de emparelhamento: meu dongle USB é reconhecido, Eu posso ligá-lo, torná-lo detectável, ele aparece no meu telefone e eu consegui parear com ele.

Mas agora meu telefone não parece considerar que meu servidor é capaz de reproduzir áudio. bt-device -i <phone> diz-me: ... UUIDs: [..., AudioSource, ..., HeadsetAudioGateway, ...] , o que, na minha opinião, significa que o meu telemóvel pode utilizar esses dois perfis para enviar áudio. Mas bt-adapter -i não lista esses (ou algo similar), o que eu entendo que eu de alguma forma preciso ensinar meu servidor como receber áudio do bluetooth. Eu instalei pulseaudio-module-bluetooth , mas a instalação não pareceu fazer nenhuma diferença e não tenho certeza do que mais eu poderia fazer.

[BTW, eu menciono pulseaudio porque minha pesquisa me levou a fazer parte de uma solução potencial, mas uma solução que não usa pulseaudio também seria boa. ]

    
por Stefan 23.02.2016 / 17:20

1 resposta

2

Eu estava tentando fazer o mesmo com um laptop debian-jessie. O seguinte resolveu para mim:

sudo apt-get install -y bluetooth bluez bluez-tools rfkill blueman

# https://tttwrites.wordpress.com/2014/11/09/resolved-bluetooth-loading-patch-failed-in-debian-wheezy/
if [ $(lsusb|grep Blue|grep Atheros|wc -l) -eq 1 ]; then sudo apt-get install -y firmware-atheros; fi

# To fix the errors:
#  Sap driver initialization failed.
#  sap-server: Operation not permitted (1)
# https://askubuntu.com/a/802345/155829
sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover # not sure we need this line
modprobe ath3k
modprobe btusb
modprobe bluetooth

# https://wiki.archlinux.org/index.php/bluetooth#Using_your_computer.27s_speakers_as_a_bluetooth_headset
echo '[General]
Enable=Source,Sink,Media,Socket' > /etc/bluetooth/audio.conf

sudo service bluetooth restart || sudo systemctl restart bluetooth
if [ $(ps awuxf|grep blueman-app|wc -l) -lt 2 ]; then blueman-applet; fi

Vale a pena aprender a usar o bluetoothctl como eu precisava para inserir um PIN

Quando está funcionando:

lsmod |grep -i blue|awk '{print $1}'

mostra-me

bluetooth    
ecdh_generic 
rfkill       
crc16        

e uma vez emparelhado com o telefone

ls -la /sys/bus/usb/drivers/btusb|grep dev

tem algum link simbólico para - > ../../../../devices/pci0000:00/{YUR DEVICE} e

cat /sys/bus/usb/drivers/btusb/{remove_id,new_id}|wc -c

Deve retornar o retorno 0 (zero), onde antes era um valor positivo quando não funcionava.

    
por 15.09.2017 / 08:17