音频注入器声卡中的记录和播放

音频注入器声卡中的记录和播放

我想在 raspberry pi3 中创建一个带有 arecord 和 aplay 的 fifo。当我从一端的音频注入器发送音乐信号时,它会正常显示,但会禁用另一端的音乐。我使用的是“arecord -f S16_LE -r 44100 -V stereo -c1 -D plughw:2 | aplay -D plughw:2”

请告诉我如何解决它以及如何在不使用 ctrl+c 的情况下停止该命令???

答案1

不确定你想做什么,特别是我不明白“关闭另一端的音乐”,但是

1) 在 Pulseaudio(或 jack)中转发音频流比 ALSA 容易得多。

2) 在管道中使用时arecord,不要使用 WAV 格式,因为 WAV 标头有一个长度条目,无法在管道中填写。要么使用 raw ( -t raw) 并在 中指定正确的参数aplay,要么使用 SUN 音频格式 ( -t au)。

3) arecord-aplay 管道将运行,直到您使用 ctrl-c 停止它,或者直到其中一个或两个进程被终止(使用kill)。没有其他方法可以做到这一点。

答案2

要停止现有命令,请向 arecord 添加以秒为单位的持续时间变量(-d),如下所示:

arecord -f S16_LE -r 44100 -V stereo -c1 -d2 -D plughw:2 | aplay -D plughw:2

此命令将在-d2或2秒后停止录音。

如果您使用 alsamixer 命令,则可以更改混音器设置。这将允许您选择输入(麦克风或线路)以及启用输出 hifi(听到声音),还可以启用旁路模式,该模式将通过模拟系统(而不是 CPU)将音频输入直接路由到输出。在旁路模式下,您仍然可以使用 arecord 来捕获信号。

相关内容