Отправьте двунаправленный сигнал с Bluetooth PCM на loopback, чтобы использовать его в linphone - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть Bluetooth-динамик (с микрофоном), подключенный к моей системе.Я использую bluez 5.50 и bluealsa 1.3.1, и мой ~ / .asoundrc в настоящее время выглядит следующим образом:

pcm.!default {
  type asym
  playback.pcm "looptest"
  capture.pcm "looprec"
}

pcm.looptest {
        type plug
        slave {
                pcm {
                        type bluealsa
                        device E4:22:A5:58:09:95
                        profile "a2dp"
                }
        }
        hint {
                show on
                description "Calisto"
        }
}

ctl.looptest {
        type bluealsa
}

pcm.looprec {
        type plug
        slave {
                pcm {
                        type bluealsa
                        interface "hci0"
                        device E4:22:A5:58:09:95
                        profile "sco"
                }
        }
        hint {
                show on
                description "Calisto REC"
        }
}
ctl.looprec {
        type bluealsa
}

При воспроизведении аудио с aplay по умолчанию используется bluetoothspeaker, поэтому янужно только набрать aplay soundfile.wav.Также при записи звука с использованием arecord -f cd record.wav звук записывается правильно.

Моя главная проблема заключается в том, что при использовании линфона в качестве устройств воспроизведения / захвата можно выбирать только «настоящие» звуковые карты.Что-то помогло - создать устройство с петлевой обратной связью.При запуске alsaloop -P "hw:Loopback,1,0" -C "looptest" -t 500000 -d и последующем звонке через телефон, я слышу голос вызываемого абонента.Но вызываемый абонент не может слышать мой голос, что очевидно, так как до сих пор я не настраивал способ подключения микрофона к устройству обратной связи.

Как создать этот канал?Я пробовал alsaloop -P "hw:Loopback,1,1" -C "looprec" -t 500000 -r 44100, а также пробовал несколько других петлевых индексных комбинаций, таких как 0,0 0,1 1,0, но ни одна из них не сработала.Поскольку мои текущие знания alsa очень ограничены, есть ли намеки на то, что я могу сделать неправильно?Может быть, даже Loopback-решение не нужно, и трюк можно сделать с помощью некоторого asoundrc-magic?Или есть другие решения?Единственное, чего я хочу избежать - это Pulseaudio, так как он плохо работает с bluealsa

1 Ответ

0 голосов
/ 22 февраля 2019

Я наконец решил проблему с помощью pulseaudio, который корректно работал с динамиком Bluetooth, а также поддерживается linphone.

Если кому-то интересно мое резюме, как подключиться к динамикам Bluetooth и совершать звонки с помощью linphone под Raspberry Pi с Raspbian Stretch, посмотрите на https://gist.github.com/stefan-wegener/db61bd83a19b4901a2dbc6d78e237b63

...