У меня XBMCbuntu установлен на HTPC под управлением Ubuntu 14.04 и Kodi 14.1. Я пытался установить и запустить Steam, чтобы можно было транслировать игры с моего игрового ПК. Я следовал инструкциям этого руководства, используя только ALSA, так как PulseAudio вообще не давал мне звука, а пре- и постскрипты не работали при переключении между ALSA и PA.

Аудио в Kodi работает нормально, когда мой ~/.asoundrc выглядит так:

pcm.dsp {
    type plug
    slave.pcm "dmixer"
}

pcm.dsp0 {
    type plug
    slave.pcm "dmixer"
}

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

ctl.!default {
    type plug
    slave.pcm "dmixer"
}

pcm.dmixer {
    type dmix
    ipc_key 101
    slave {
        pcm "hw:0,3"
        period_time 0
        period_size 1024
        buffer_size 4096
        rate 48000
    }
    bindings {
        0  0
        1  1
    }
 }

Но когда Steam запускается из меню, звук искажается, трещит и вообще ломается, но звук есть и его можно узнать. Немного экспериментов и пробная ошибка, и я смог определить, используя

ctl.!default {
    type hw
    card 0
}

дал бы мне тот же сломанный звук в Коди. И это

ctl.!default {
    type plug
    slave.pcm "hdmi:CARD=HDMI,DEV=0"
}

дает мне правильный звук. Я пытался использовать "штекерное" устройство в устройстве dmix, но оно не дало мне никакого звука, и дальнейшие исследования подтвердили, что оно не работает. Поскольку я не могу использовать "подключаемые" устройства в устройстве dmix, мне нужно решение, которое позволило бы мне использовать то же "подключаемое" устройство в dmix ИЛИ как-то исправить устройство "hw". Ниже вы найдете мои aplay -l и aplay -L. Кроме того, я несколько сбит с толку относительно того, откуда взято «hdmi:CARD = HDMI, DEV = 0», поскольку нет устройства 0 для карты 0, указанного в aplay -l. Я вижу это в aplay -L, но все остальные PCM приходят с устройств в aplay -l. Кроме того, я подключен к телевизору и ресиверу через HDMI, а устройство ALC1150 не работает ни с опциями системы ни в Kodi, ни в ~/.asoundrc.

$aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1150 Analog [ALC1150 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1150 Digital [ALC1150 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
dsp
dsp0
default
dmixer
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output
dmix:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct sample mixing device
dsnoop:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct sample snooping device
hw:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct hardware device without any conversions
plughw:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Hardware device with all software conversions
sysdefault:CARD=Generic
    HD-Audio Generic, ALC1150 Analog
    Default Audio Device
front:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Front speakers
surround40:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Digital
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Direct sample mixing device
dmix:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Direct sample mixing device
dsnoop:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Direct sample snooping device
dsnoop:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Direct sample snooping device
hw:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Direct hardware device without any conversions
hw:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Direct hardware device without any conversions
plughw:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Hardware device with all software conversions
plughw:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Hardware device with all software conversions

1 ответ1

0

Существует возможный обходной путь в сообщении об ошибке ниже. В основном все сводится к добавлению опции модуля и использованию сценария amixer для отключения / включения звука вашего цифрового устройства.

По крайней мере, вы должны подписаться на ошибку и указать, что она влияет на вас.

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/359361

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .