Bluez várias fontes de áudio

7

Com a pilha bluez, é possível conectar várias fontes de áudio? Como ? Se não é possível por qualquer outro meio? Se possível, é possível misturar diferentes versões do bluetooth como as de baixa energia com as antigas?

Se não for possível, acho que uma solução (custosa) é conectar vários receptores bluetooth (físicos) atrás do meu mixer de áudio (físico) ^ - ^

Histórico: Estou tentando criar um "servidor de mídia" e quero que os telefones transmitam áudio para ele, mas não quero ouvir "por favor, você pode desconectar sua música? ] telefone para que eu possa conectar o meu ".

    
por Julien Palard 24.05.2015 / 18:19

2 respostas

1

Há relatos de que isso deve ser possível, em particular, há uma resposta da lista de discussão do principal desenvolvedor, declarando que isso pode ser feito através do audio.conf . Mas este arquivo não vem mais com o BlueZ 5, e o código-fonte atual não faz qualquer referência às seções que ele costumava conter (como "[A2DP]" ou "[Headset]").

Isso pode ser útil se você estiver executando o Bluez 4. Este post nos fóruns do maemo (maemo foi o principal patrocinador do trabalho de áudio bluetooth no linux, acredito) mostra um arquivo audio.conf de amostra com uma opção SourceCount definida como 2. E essa resposta do AskUbuntu diz que você deve definir SBCSources , MPEG12Sources e MaxConnected para um número maior que um.

Com o BlueZ 5 e o Pulseaudio, quando tento conectar uma segunda fonte, ele se desconecta imediatamente. Usando hcidump , posso ver que tudo dá errado com esse pacote, enviado pelo dispositivo que recebe o áudio:

< ACL data: handle 62 flags 0x00 dlen 10
    L2CAP(d): cid 0x0042 len 6 [psm 25]
      AVDTP(s): Discover rsp: transaction 0 nsp 0x00
        ACP SEID 1 - Audio Source
        ACP SEID 2 - Audio Sink (InUse)

Observe como o coletor está marcado como InUse . Depois de ver isso, a fonte se desconecta.

É difícil dizer onde esta opção de configuração foi, o BlueZ é notório por sua escassa documentação. Com o BlueZ 5, a maioria das responsabilidades de áudio foram transferidas para outros programas, como o Pulseaudio. Eles se comunicam pelo DBus e o Pulseaudio registra os endpoints com o BlueZ. Talvez o Pulseaudio deva registrar vários endpoints, mas não parece haver nenhuma opção sobre várias fontes no pulseaudio-module-bluetooth-discover.

    
por 19.07.2016 / 18:07
1

Um pouco atrasado, talvez, mas alguns anos atrás eu experimentei isso e TINHA trabalhando por um tempo, então vou largar minhas experiências com isso aqui.

O Pulseaudio 2.x é o último lançamento que permitiu que vários streams de áudio bluetooth aparecessem no PA como fontes de áudio. Do PA 3.0 em diante, eles mudaram o tratamento de áudio para (eu não sei exatamente)

1) Manipulando apenas um par de fonte / coletor de áudio BT ou

2) permite um par de fonte / dissipador de áudio BT por dispositivo de áudio (local) disponível

O PA 2.x estava funcionando no momento com o Bluez4. Eu não sei se ainda é possível registrar vários coletores de áudio com o Bluez5, mas pelo menos o PA não facilita ou até mesmo é possível. Como o @philippe diz na outra resposta, se o PA vir o Sink como InUse, ele desconectará o fluxo de áudio (mesmo que tecnicamente o fluxo de áudio não precise estar conectado a um coletor de PA)

PS: Embora tenha realmente funcionado, os fluxos de áudio de ambos os dispositivos bluetooth interferem no nível do rádio, por isso não espere misturar 2 fluxos de áudio sem falhas, um ou ambos terão perda de pacotes.

    
por 11.05.2018 / 10:35