Ontem passei quase o dia inteiro tentando fazer com que algo funcionasse que eu esperava ser direto: ter um fone de ouvido Bluetooth trabalhando com o Linux.
Eu sei que há bluez como a pilha do Linux Bluetooth - as fontes oficiais do Raspbian contêm a versão 4.99, que deve ter suporte para A2DP, HFP e HSP. As versões mais recentes 5.xx eliminaram o suporte para HFP e HSP, até onde eu saiba (por qualquer motivo).
O que fiz foi instalar o bluez a partir das fontes oficiais e parear o fone de ouvido. Eu adicionei um arquivo /etc/asound.conf
:
pcm.btheadset {
type plug
slave {
pcm {
type bluetooth
device XX:XX:XX:XX:XX:XX
profile "auto"
}
}
hint {
show on
description "BT Headset"
}
}
ctl.btheadset {
type bluetooth
}
}
Então eu posso gerar áudio com aplay -D btheadset -f S16_LE < /etc/kernel.img
.
Eu tentei fazer com que a entrada de áudio funcionasse da mesma maneira, fazendo arecord -D btheadset /tmp/test.wav
, mas ela não registra nada.
Acho que apenas o A2DP está funcionando, mas não o HSP / HFP. Eu pesquisei muito no Google, mas parece que os fones de ouvido Bluetooth não são bem suportados pelo Linux. Isso realmente me surpreende - realmente ninguém está usando isso?
Estou até pensando em ler em programação Bluetooth - alguma idéia por onde começar?
Além disso, eu me pergunto porque o fone de ouvido está funcionando bem com o Android, que - tanto quanto sei, usa o bluez 5.xx também. Alguma idéia sobre isso?
Obrigado por cada dica que você pode me dar.