如何在 .asoundrc 中创建使用 dmix 和 dsnoop 设备的默认设备?

如何在 .asoundrc 中创建使用 dmix 和 dsnoop 设备的默认设备?

我正在尝试创建一个使用 dmix 和 dsnoop 的 asym 默认设备。我正在使用的应用程序不断独占对 USB 麦克风和音频输出的访问权限。我还想同时将我的麦克风连接到音频输出,因此我需要通过创建允许此操作的默认设备来强制应用程序使用可以为多个进程提供服务的设备(应用程序尝试打开一个输入并首先在默认设备上输出)。

这是我目前拥有的 .asoundrc:

pcm.inout {
  type plug

  slave.pcm {
    type asym

    playback.pcm {
      type dmix

      ipc_key 4323

      slave.pcm: "hw:0,1"
    }

    capture.pcm {
      type dsnoop
      ipc_key 5432
      slave.pcm "hw:1,0"
    }
  }
}

ctl.inout {
  type hw
  card 0
}

pcm.!default "inout"
ctl.!defualt "inout"

但是,当我运行该应用程序时,或者alsaloop -C default -P default -c 1 -t 50000我得到以下信息:

ALSA lib pcm_direct.c:1524:(_snd_pcm_direct_get_slave_ipc_offset) Invalid type 'dmix' for slave PCM

另外,我看到运行时 ALSA 自动创建了 dmix 设备aplay -L,但不知道如何使用它。alsaloop -C default -P dmix:0,1 -c 2 -t 50000没有抛出任何错误,但我没有通过耳机听到任何声音。

相关内容