我正在尝试在我的蓝牙扬声器上运行 PulseAudio 的“模块回声取消”过滤器(仅输出)。
我是/etc/pulse/default.pa
这样编辑的:
.ifexists module-echo-cancel.so
load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1
set-default-source echocancel
set-default-sink echocancel1
.endif
因此,当我打开机器时,“模块回声取消”被激活,并且它可以与我的内部扬声器一起使用。但是当我连接蓝牙扬声器时,过滤器不起作用(因为在机器/PulseAudio启动时未连接bt设备?)。连接蓝牙扬声器时尝试重新启动 PulseAudio(模拟启动 PulseAudio,当连接 bt 设备时,如机器启动时的内部扬声器)将断开所有蓝牙设备。所以我刚开始,无法让“模块回声取消”与我的 bt 矛手一起工作。
您有什么经验、建议或技巧来帮助我解决这个恼人的问题吗? :))
链接到 PulseAudio 的 module-echo-cancel 文档:https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-echo-cancel
*联想 t440p,Manajro Linux x86_64,内核:5.8.18-1-MANJARO
答案1
“如果您插入 USB 声卡或耳机,或者您有 5.1 扬声器配置,并在加载回声取消模块后在前置音频连接器上插入耳机,则必须手动卸载并加载再次 module-echo-cancel,因为不幸的是,没有办法告诉模块它应该自动切换到新的默认“source_master”和“source_sink”。”
来源:https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Enable_Echo/Noise-Cancellation
*有什么想法如何在蓝牙连接或断开后自动卸载和加载模块吗?