我可以使用以下命令录制音频:
arecord -D plughw:0 --duration=10 -f cd -vv rec7.wav
还有~/.asoundrc
这个:
pcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 1
}
另外,我可以用 播放该录制的文件aplay rec7.wav
。
重点是,我已经明确说明了录制时要使用哪个设备。而播放时则不需要这样做。为什么?
我想这样录制。但找不到设置默认设备的arecord --duration=10 -f cd -vv rec7.wav
方法。plughw:0
我正在 Raspbian 上尝试这个。我使用的是外接 USB 麦克风。
答案1
您可能会遇到问题,因为您使用不同的硬件设备进行捕获和播放。在配置文件中,pcm
部分指定 PCM 设备(播放和录制),ctl
部分用于设置参数(控制设备)。由于 Raspberry Pi 音频卡不支持捕获,因此pcm
配置文件中设置的默认设备将导致arecord
返回错误。为了解决这个问题,我们可以在配置文件中设置不同的默认设备。使用不同的硬件设备进行播放和捕获的一种方法是使用插件asym
。
这是一个.asoundrc
应该有效的
pcm.usbmic {
type hw
card 1
}
pcm.playback {
type hw
card 0
}
pcm.!default {
type asym
playback.pcm{
type plug
slave.pcm "playback"
}
capture.pcm{
type plug
slave.pcm "usbmic"
}
}