如何使用 Raspbian Stretch 在 Raspberry Pi 3B 上设置默认麦克风?
How to set default microphone on Raspberry Pi 3B with Raspbian Stretch?
到目前为止,我还没有找到任何关于如何为 Stretch 设置默认 USB 麦克风的指南,因此我遵循了 Wheezy 和 Jessie 的所有指南,但它们不起作用。
键入命令 arecord sound.wav
不会从麦克风录制任何内容。但是,如果我输入此命令,它将起作用 arecord -f cd -D hw:1,0 -d 10 sound.wav
.
这是我输入 arecord -l
时出现的内容
**** List of CAPTURE Hardware Devices ****
card 1: Headset [Plantronics Headset], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
我编辑了这个文件 /usr/share/alsa/alsa.conf 并将值设置为此
defaults.ctl.card 1
defaults.pcm.card 1
我还编辑了 /etc/asoundrc 文件并将其更改为:
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 0
}
还有这个:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
还是不行。
这个问题让我头疼了大约一天,但我终于成功了。
你的 .asoundrc 实际上应该是这样的:
pcm.!default {
type asym
playback.pcm "plughw:0"
capture.pcm "plughw:1"
}
ctl.!default {
type hw
card 1
}
否则你的设置没问题,但我认为这个命令是错误的:
arecord sound.wav
测试麦克风(或至少对我有用的)的正确命令是:
arecord -D plughw:1,0 --duration=3 test.wav && aplay test.wav
此设置用于录制 3 秒,录制停止后它会自动播放给您(假设您的音频也能正常播放)。
这部分 plughw:1,0 指向您的麦克风,我看到它设置为卡 1。
我在测试期间创建了这个文件 /etc/modprobe.d/alsa-base.conf 请删除它并重新启动你的 pi.
sudo rm -f /etc/modprobe.d/alsa-base.conf
此外,如果您已为 AlexaPi 项目尝试过此操作,请确保在尝试麦克风和音频之前停止该服务。
sudo systemctl stop AlexaPi.service
到目前为止,我还没有找到任何关于如何为 Stretch 设置默认 USB 麦克风的指南,因此我遵循了 Wheezy 和 Jessie 的所有指南,但它们不起作用。
键入命令 arecord sound.wav
不会从麦克风录制任何内容。但是,如果我输入此命令,它将起作用 arecord -f cd -D hw:1,0 -d 10 sound.wav
.
这是我输入 arecord -l
时出现的内容**** List of CAPTURE Hardware Devices ****
card 1: Headset [Plantronics Headset], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
我编辑了这个文件 /usr/share/alsa/alsa.conf 并将值设置为此
defaults.ctl.card 1
defaults.pcm.card 1
我还编辑了 /etc/asoundrc 文件并将其更改为:
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 0
}
还有这个:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
还是不行。
这个问题让我头疼了大约一天,但我终于成功了。
你的 .asoundrc 实际上应该是这样的:
pcm.!default {
type asym
playback.pcm "plughw:0"
capture.pcm "plughw:1"
}
ctl.!default {
type hw
card 1
}
否则你的设置没问题,但我认为这个命令是错误的:
arecord sound.wav
测试麦克风(或至少对我有用的)的正确命令是:
arecord -D plughw:1,0 --duration=3 test.wav && aplay test.wav
此设置用于录制 3 秒,录制停止后它会自动播放给您(假设您的音频也能正常播放)。 这部分 plughw:1,0 指向您的麦克风,我看到它设置为卡 1。 我在测试期间创建了这个文件 /etc/modprobe.d/alsa-base.conf 请删除它并重新启动你的 pi.
sudo rm -f /etc/modprobe.d/alsa-base.conf
此外,如果您已为 AlexaPi 项目尝试过此操作,请确保在尝试麦克风和音频之前停止该服务。
sudo systemctl stop AlexaPi.service