为特定卡配置 alsa pcm.dmix.rate?

为特定卡配置 alsa pcm.dmix.rate?

各位。我有一个外部 USB 声卡,根据我的实际位置,系统中可能存在也可能不存在。以前我默认使用这张卡,所以像下面这样的配置工作得很好:

defaults.ctl.card 1
defaults.pcm.card 1
defaults.pcm.dmix.rate 176400
defaults.pcm.dmix.format S32_LE
defaults.timer.card 1

但由于可能根本没有这张卡,因此将其定义为默认值不再起作用,而我仍然需要重新定义pcm.dmix.rate内置pcm.dmix.format卡 0 的特定卡生活系统默认值(无论它们是什么)。

我做了一个简短的搜索,但只找到了定义虚拟 pcms 女巫的示例,这不是我要找的。

aplay -l 输出:

card 0: PCH [HDA Intel PCH], device 0: Generic Analog [Generic Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Pro [DX3 Pro], device 0: USB Audio [USB Audio] <- optional card of interest
  Subdevices: 0/1
  Subdevice #0: subdevice #0

然后这是我的外部卡,配置为完全工作的 dmix“设备”,具有正确的采样率和格式:

pcm.dx3proDM {
    type dmix
    ipc_key_add_uid true
    ipc_key 2048 # mandatory, mast be unique
    ipc_perm 0660
    ipc_gid audio
    slave {
        pcm "hw:1"
        rate 176400
        format "S32_LE"
        channels 2
        period_time 0
        period_size 1024
        buffer_size 8192 # mandatory parameter
    }
    bindings {
        0 0
        1 1
    }
}

问题是 dx3proDM 无法被系统使用(例如,我无法在 Audacous 中选择 ii 作为输出设备)。

我仍然需要重新定义默认值以指向它:

pcm.!default{
    type plug
    slave.pcm "dx3proDM"
}

再次将其设为默认值 - 与我想要做的完全相反。

这里有什么想法吗?

答案1

也许我仍然不明白这个问题,但我这样配置我的网络摄像头:

pcm.webcam {
  type plug
  slave {
    pcm "front:U0x46d0x809"
    rate 48000
    format "S16_LE"
  }
}

是否有任何原因无法像这样配置您的可选外部卡,使用您获得的名称,例如使用aplay -L,并以这种方式设置您需要的任何参数(以及plug),而不是使用defaults

因为如果您使配置卡特定,并webcam在需要时手动选择插件作为输出,则没有理由使用defaults.


问题是 dx3proDM 无法被系统使用(例如,我无法在 Audacous 中选择 ii 作为输出设备)。

它完全可用(尝试类似的东西aplay -D dx3proDM some_file.wav),只是有些应用程序不列出插件,并且不允许您输入设备名称。这是应用程序的限制,而不是 ALSA 的限制。

我仍然需要重新定义默认值以指向它[...]

然后我们回到 (1) 使用udev脚本进行更改,或 (2) 使用 Pulseaudio,并让它开箱即用。

相关内容