从蓝牙PCM发送双向信号到环回以在线性电话中使用它

时间:2019-02-20 11:30:56

标签: alsa linphone

我的系统连接了蓝牙扬声器(带麦克风)。我正在使用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播放音频时,默认使用蓝牙扬声器,因此我只需要键入aplay soundfile.wav。同样,当使用arecord -f cd record.wav录制音频时,也会正确录制声音。

我的主要问题是,在使用线性电话时,只能选择“真实”声卡作为播放/捕获设备。某种程度上有所帮助的是创建了一个alsa-loopback设备。启动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知识非常有限,是否有任何暗示我可能做错了什么?也许甚至不需要环回解决方案,并且可以通过一些asoundrc-magic来完成技巧?还是有其他解决方案?我唯一要避免的是Pulseaudio,因为它不能与bluealsa配合使用

1 个答案:

答案 0 :(得分:0)

我最终通过使用pulseaudio解决了这个问题,pulseaudio可与蓝牙扬声器正常工作,并且受线性电话支持。

如果有人对我的摘要感兴趣,如何在具有Raspbian Stretch的Raspberry Pi下连接到蓝牙扬声器和使用linphone拨打电话,请查看https://gist.github.com/stefan-wegener/db61bd83a19b4901a2dbc6d78e237b63