|
1. 查看版本
|
|
pulseaudio --version
|
|
pulseaudio 13.99.3
|
|
|
|
2. 加载模块
|
|
pactl load-module module-echo-cancel \
|
|
source_name=noechosource \
|
|
sink_name=noechosink \
|
|
source_master=alsa_input.platform-es8388-sound.stereo-fallback \
|
|
sink_master=alsa_output.platform-es8388-sound.stereo-fallback
|
|
|
|
3. 设置默认
|
|
pactl set-default-source noechosource
|
|
pactl set-default-sink noechosink
|
|
|
|
4. 录音并播放
|
|
arecord -Dplughw:0,0 -f cd -t raw | aplay -D plughw:0,0 -f cd -t raw
|
|
arecord -D pulse -f cd -t raw | aplay -D pulse -f cd -t raw
|
|
|
|
5. 其它
|
|
root@LPA3588:~# pactl list sources short
|
|
xcb_connection_has_error() returned true
|
|
0 alsa_output.platform-es8388-sound.stereo-fallback.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
|
|
2 alsa_output.platform-hdmi0-sound.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
|
|
3 alsa_input.platform-hdmiin-sound.stereo-fallback module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
|
|
4 alsa_input.platform-es8388-sound.stereo-fallback module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
|
|
root@LPA3588:~# pactl list sinks short
|
|
xcb_connection_has_error() returned true
|
|
0 alsa_output.platform-es8388-sound.stereo-fallback module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
|
|
1 alsa_output.platform-hdmi0-sound.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
|
|
|
|
https://blog.csdn.net/godbreak/article/details/38756977
|
|
https://arunraghavan.net/2011/08/hello-hello-hello/
|
|
|
|
pactl load-module module-echo-cancel
|
|
setenv("PULSE_PROP", "filter.want=echo-cancel", 1);
|
|
|
|
https://linuxcpp.0voice.com/?id=174564
|
|
要在PulseAudio中为特定的声卡启用回声消除,你需要进行以下步骤:
|
|
|
|
打开终端,并运行以下命令以编辑 PulseAudio 配置文件:
|
|
|
|
sudo nano /etc/pulse/default.pa
|
|
|
|
在打开的配置文件中,找到 load-module module-echo-cancel 这一行。将其复制并粘贴在下面,然后添加 source_name=<名称> 和 sink_name=<名称> 参数来为回声消除模块指定唯一的源和接收器名称。
|
|
|
|
例如,如果你想为第一个声卡启用回声消除,可以这样写:
|
|
|
|
load-module module-echo-cancel source_name=echosource1 sink_name=echosink1
|
|
|
|
如果你想为第二个声卡启用回声消除,可以这样写:
|
|
|
|
load-module module-echo-cancel source_name=echosource2 sink_name=echosink2
|
|
|
|
保存并关闭配置文件(按 Ctrl + X,然后按 Y 然后按 Enter)。
|
|
|
|
重新启动 PulseAudio 服务以使更改生效:
|
|
|
|
pulseaudio -k
|
|
pulseaudio --start
|
|
|
|
现在,回声消除应该已经针对特定的声卡生效了。
|
|
|
|
如果你想让回声消除对所有声卡都生效,请使用以下步骤:
|
|
|
|
打开终端,并运行以下命令以编辑 PulseAudio 配置文件:
|
|
|
|
sudo nano /etc/pulse/default.pa
|
|
|
|
找到 load-module module-echo-cancel 这一行,并确保没有为其指定任何源和接收器名称的参数。也就是说,该行应该是这样的:
|
|
|
|
load-module module-echo-cancel
|
|
|
|
保存并关闭配置文件(按 Ctrl + X,然后按 Y 然后按 Enter)。
|
|
|
|
重新启动 PulseAudio 服务以使更改生效:
|
|
|
|
pulseaudio -k
|
|
pulseaudio --start
|
|
|
|
现在,回声消除应该对所有声卡都生效了。请注意,具体的回声消除效果可能因硬件和环境而异。你可能需要进行一些额外的调整和优化来获得最佳结果。
|