如何使用 ALSA 将 7.1 声卡输出拆分为 4 个立体声输出

如何使用 ALSA 将 7.1 声卡输出拆分为 4 个立体声输出

我的 Ubuntu 11.10 系统上安装了 Xonar DX(CMI8788 驱动程序)7.1 环绕声卡。

我想将卡的输出用作 4 个独立的立体声输出,并且我正在努力使用 ALSA 使其工作。

这是我的 asound.conf:

#/etc/asound.conf
pcm_slave.eightchannels {
        pcm "hw:0,0"            # or "hw:1,0" for the second card
        channels 8
}
pcm.stereo1 {
        type plug
        slave.pcm {
                type dshare
                ipc_key 87882222
                slave eightchannels
                bindings [ 2 3 ]
        }
}
pcm.stereo2 {
        type plug
        slave.pcm {
                type dshare
                ipc_key 87882222
                slave eightchannels
                bindings [ 4 5 ]
        }
}
pcm.stereo3 {
        type plug
        slave.pcm {
                type dshare
                ipc_key 87882222
                slave eightchannels
                bindings [ 6 7 ]
        }
}
pcm.stereo4 {
        type plug
        slave.pcm {
                type dshare
                ipc_key 87882222
                slave eightchannels
                bindings [ 0 1 ]
        }
}

这是我的 aplay -l 输出:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: DX [Xonar DX], device 0: Multichannel [Multichannel]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: DX [Xonar DX], device 1: Digital [Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

这是我的 aplay -L 输出:http://pastebin.com/MYvxFvVr

系统似乎完全忽略了我的配置。但是,我确信该配置已被使用,因为当我在顶部插入一个随机字符串时,我得到了一个解析错误。

任何帮助是极大的赞赏。

答案1

对我来说,解决方案是将八通道 pcm 定义更改为:

pcm_slave.eightchannels {
        pcm "surround71:DX,0" # use the string identifier instead of the card id
        channels 8
}

相关内容