默认的 pcm ALSA 设备到底是什么?

默认的 pcm ALSA 设备到底是什么?

我使用的是 Lubuntu 20.04,没有安装 PulseAudio。我在编辑 ALSA 设置时遇到一些问题,因为我所做的任何更改都会干扰我的麦克风。

特别是,如果我使用以下基本配置文件:

pcm.!default {
    type hw
    card 2
}

ctl.!default {
    type hw
    card 2
}

然后我无法并行运行 OBS 和 Discord,因为第一个尝试以立体声模式打开麦克风,而后者尝试以单声道模式打开麦克风。最后一次尝试总是无法打开设备。

然而,仅用线条

defaults.pcm.card 2
defaults.ctl.card 2

一切正常。这向我暗示 ALSA 提供的默认设备比简单type hw插入正确的设备更灵活。我试图研究以某种方式使 ALSA 打印其默认值,但找不到任何有关它的信息。

如何在我的配置文件中复制默认的 ALSA 设备,以便我可以进行更改并测试与 ALSA 已经为我所做的不同?

答案1

设备的默认定义default可以在 中找到/usr/share/alsa/pcm/default.conf。如果它不重定向到特定于驱动程序的默认值,则定义如下:

pcm.!default {
    type plug
    slave.pcm {
        type hw
        card 2
    }
}

plug插件实现自动采样率/格式转换。

大多数司机有自己的default定义。特别是,大多数主板设备都是由 处理的/usr/share/alsa/cards/HDA-Intel.conf,它定义了类似的内容以允许多个客户端:

pcm.!default {
    type asym
    playback.pcm {
        type plug
        slave.pcm "dmix:2"
    }
    capture.pcm {
        type plug
        slave.pcm "dsnoop:2"
    }
}

相关内容