Создание пользовательского устройства PCM в ALSA
как я могу создать пользовательское устройство PCM с dmix-slave и использовать его в дерзком, не касаясь глобального PCM? Разве такое вообще возможно? Я пробовал разные конфигурации, но не повезло. Алса asound.синтаксис conf действительно странный.
Вот вывод команды aplay-L:
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=SB
HDA ATI SB, ALC662 rev1 Analog
Default Audio Device
sysdefault:CARD=SB
HDA ATI SB, ALC662 rev1 Analog
Default Audio Device
front:CARD=SB,DEV=0
HDA ATI SB, ALC662 rev1 Analog
Front speakers
surround21:CARD=SB,DEV=0
HDA ATI SB, ALC662 rev1 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=SB,DEV=0
HDA ATI SB, ALC662 rev1 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
HDA ATI SB, ALC662 rev1 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
HDA ATI SB, ALC662 rev1 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
HDA ATI SB, ALC662 rev1 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
HDA ATI SB, ALC662 rev1 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=SB,DEV=0
HDA ATI SB, ALC662 rev1 Digital
IEC958 (S/PDIF) Digital Audio Output
и aplay-l:
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
корни проблемы: из-за ошибки в audacious / alsa во время воспроизведения музыки audacious потребляет слишком много времени процессора. Я нашел какое-то решение здесь https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=613203. Я создал ~/.asoundrc, содержащий следующие строки:
pcm.!default {
type plug
slave.pcm {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
rate 44100
}
}
}
это действительно работает и дерзкий потребляет только небольшое количество процессорного времени. Однако, это создает проблемы с воспроизведением звука в Firefox. Звук в youtube видео заикается.
1 ответов
Что касается основной проблемы: я переопределил pcm.по умолчанию так:
pcm.dmixed {
type asym
playback.pcm {
# See plugin:dmix at http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html
type dmix
ipc_key 5678293
ipc_perm 0660
ipc_gid audio
slave {
channels 6
pcm {
format S16_LE
rate 44100
type hw
card 0
device 0
subdevice 0
}
# Play with this value, if you get errors "unable to set buffer size" or "underrun occured"
# 4320 is effective minimum with hda-intel, but flash in firefox needs at least 5000.
buffer_size 5000
period_time 0
#period_size 512
#periods 2
}
}
capture.pcm {
type null
}
}
pcm.!default {
type plug
slave.pcm "dmixed"
}
взгляните на эту строку:
# 4320 is effective minimum with hda-intel, but flash in firefox needs at least 5000.
buffer_size 5000
Это, кажется, сделать трюк. Так что, наконец, я обошел его без создания дополнительных устройств PCM.