如何使用 alsamixer 和 asoundrc 管理 2 个不同的声卡

如何使用 alsamixer 和 asoundrc 管理 2 个不同的声卡

我有 2 个 USB 卡,一个是连接了扬声器插孔的 USB DAC(未使用捕获插孔),另一个是麦克风 USB。

我修改了我的asoundrc播放2个声音与dmix插件,适应以来https://stackoverflow.com/a/14398926/6268583

# Speaker (usb dac with jack output and input jack)
pcm.dmixed {
    type dmix
    ipc_key 1024
    ipc_key_add_uid 0
    slave.pcm "hw:1,0"
}
# Micro usb
pcm.dsnooped {
    type dsnoop
    ipc_key 1025
    slave.pcm "hw:2,0"
}

pcm.duplex {
    type asym
    playback.pcm "dmixed"
    capture.pcm "dsnooped"
}


# Instruct ALSA to use pcm.duplex as the default device
pcm.!default {
    type plug
    slave.pcm "duplex"
}

ctl.!default {
    type hw
    card 1
}

但是用这个ctl.!default我只能用 alsamixer 控制 usb dac 而不能控制我的 usb 麦克风。

如果我把这个实际ctl.!default改为

ctl.!default {
    type plug
    slave.pcm "duplex"
}

它不起作用

ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/arm-linux-gnueabihf/alsa-lib/libasound_module_ctl_plug.so
cannot open mixer: No such device or address

你有想法嗎?

答案1

每张卡只有一个控制设备,因此没有ctl插件可以更改所显示的控件。

您必须在 alsamixer 中手动选择播放/捕获设备。

相关内容