从 Line-in 获取音频并输出到扬声器

从 Line-in 获取音频并输出到扬声器

我已将控制台连接到计算机的线路输入。如何才能使声音从扬声器中发出?

我试过了alsamixer,但没用

我使用 Ubuntu 12.04

答案1

尝试使用脉冲音频:module-loopback,该模块将所有传入的音频通过您的输出循环回来,这在 Ubuntu 中默认情况下未启用。

# Manually start the module-loopback.
pactl load-module module-loopback

# Configure your system to load module-loopback on startup.
# This places load-module module-loopback at the end of
# the /etc/pulse/default.pa pulseaudio configuration file.
sudo sh -c ' echo "load-module module-loopback" >>  /etc/pulse/default.pa '

此解决方案复制自PulseAudio:监控您的线路输入接口

答案2

修改xranby的答案:

我遇到了延迟问题,按下按钮和听到“立即”的声音之间存在明显的延迟。

这修复了以下问题:pactl load-module module-loopback latency_msec=1

修复来源:http://thelinuxexperiment.com/fix-pulseaudio-loopback-delay/comment-page-1/#comment-2762

答案3

最后我进入“alsamixer”并提高了 Line-in 的级别,当时是 0,它就起作用了(在 Ubuntu 10.13 中)

答案4

我尝试使用 xranby 的答案来做到这一点,但由于多种原因,我发现弄清楚它非常令人困惑且耗时。

环回模块的设计使得它默认不接受来自麦克风的输入。这意味着您不会收到反馈。但是,我的麦克风是 USB 麦克风,因此不会自动排除它们。因此,在加载环回模块时必须使用 source=...。

如果您没有成功关闭麦克风作为环回的输入,那么也可能会感到困惑,因为您认为一切都正常,但实际上并不是线路输入在工作,而是通过空气从立体声扬声器传输到麦克风的输入。

要确定您需要哪个源,请执行“pacmd list-sources | grep name:”(注意末尾的冒号)。在我的系统上,列表中的前两个是我的 USB 麦克风,而第四个是“alsa_input.pci-0000_00_1b.0.analog-stereo”,第三个也是这样,但名称末尾带有“.monitor”。这告诉我我想要的源是 4 号。

启动环回:

pactl load-module module-loopback source=4

要关闭它:

pactl unload-module module-loopback

如果您想使这些设置永久生效,请参阅 xranby 的回答。

原来有三种不同的音量控制,我必须找到并进行适当设置。在我的硬件上,我的电脑扬声器/耳机上有一个音量旋钮。此外,pavucontrol 中有两个不同的音量控制。在输入设备选项卡下有一个,启动环回模块后,播放选项卡中还会有一个单独的控件,上面写着“内置音频模拟立体声;端口:线路输入”。如果这三个中的任何一个都调低了,那么您什么也得不到。如果任何一个软件的音量太高,就会出现失真。

相关内容