XBMC 直通音频和脉冲

XBMC 直通音频和脉冲

XBMC 有两种音频设置。一种是立体声音频,另一种是直通音频(如果我启用 AC3 和/或 DTS,那么将使用直通音频):

在此处输入图片描述

使用以下 ubuntu 音频设置,如果我使能够当我播放任何带有这些类型流的媒体时,杜比数字或 DTS 声音不起作用。但是,立体声流仍然可以工作:

在此处输入图片描述

如果将 Ubuntu 音频设置更改为内置音频输出,并启用杜比/DTS,那么媒体将使用这些流将要工作,但是立体声才不是。

这对我来说很有意义,因为如果我通过 Ubuntu 选择 CM8738,那么 XBMC 就无法访问它,因为脉冲正在使用它。另一方面,当我将 Ubuntu 音频设置为内置时,我不再使用连接到扬声器的声音设备,但 CM8738 被释放用于 XBMC 的直通/AC3/DTS。

当然,我希望两者能够同时工作(无需通过 Ubuntu 或接收器上的输入更改设备)。我想将 DTS 或 AC3 直接传递给接收器以获取这些流,但仍可在 XBMC 内部和 XBMC 外部使用立体声。我的要求是否过高?或者可以做到这一点吗?

作为参考,这里是输出aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: CMI8768 [C-Media CMI8768], device 0: CMI8738-MC8 [C-Media PCI DAC/ADC]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: CMI8768 [C-Media CMI8768], device 1: CMI8738-MC8 [C-Media PCI 2nd DAC]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: CMI8768 [C-Media CMI8768], device 2: CMI8738-MC8 [C-Media PCI IEC958]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 0: ALC888 Analog [ALC888 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 1: ALC888 Digital [ALC888 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

答案1

使用以下设置,我至少能够获得 3 个中的 2 个。立体声音频和直通功能均可在 XBMC 内工作,无需卸载脉冲。但是我仍然必须从 ubuntu 声音设置中选择不同的音频输出(即内部音频):

~/.asoundrc

# ALSA library configuration file

# Include settings that are under the control of asoundconf(1).
# (To disable these settings, comment out this line.)
</home/kbrandt/.asoundrc.asoundconf>
pcm.dmixer {
    type dmix
    ipc_key 1024
    slave {
        pcm "hw:0,2"
        period_time 0
        period_size 1024
        buffer_size 8192
        #periods 128
        #rate 44100
        rate 48000
     }
     bindings {
        0 0
        1 1
     }
}

然后在XBMC中:

在此处输入图片描述

注意:灰色的“自定义直通设备”表示该选项未使用。只有当“直通输出设备”设置为“自定义”时,它才会被使用

答案2

您可能需要使用 a52 插件。有关更多信息,请参阅:https://help.ubuntu.com/community/DigitalAC-3Pulseaudio

答案3

删除 pulseaudio 并改用 ALSA 对我很有帮助(在 12.10 上,但也应该适用于 12.04)

sudo apt-get purge pulseaudio gstreamer0.10-pulseaudio
sudo apt-get autoremove

sudo apt-get install alsa-base alsa-tools alsa-tools-gui alsa-utils alsa-oss linux-`sound-base alsamixergui`
sudo apt-get install esound esound-clients esound-common libesd-alsa0 gnome-alsamixer

确保在 ubuntu 声音设置中选择了数字输出(S/PDIF),并且在 XBMC 中选择了 iec958(ALSA)作为直通输出设备

相关内容