pcm.!default {
type plug
slave.pcm "multi"
# channels_input.channels_output open
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
}
pcm.multi {
type multi
slaves.a.pcm "es8156_softvol"
slaves.a.channels 2
slaves.b.pcm "hdmi_softvol"
slaves.b.channels 2
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave b
bindings.2.channel 0
bindings.3.slave b
bindings.3.channel 1
}
pcm.es8156_softvol {
type softvol
slave.pcm "es8156_dmix_card0"
control {
name "softvol"
card 0
}
min_dB -40.0
max_dB 0.0
resolution 101
}
pcm.hdmi_softvol {
type softvol
slave.pcm "hdmi_dmix_card1"
control {
name "softvol_hdmi"
card 1
}
min_dB -40.0
max_dB 0.0
resolution 101
}
pcm.es8156_dmix_card0 {
type dmix
ipc_key 1024
#ipc_perm 0666
slave {
pcm "hw:0,0"
channels 2
rate 48000
period_time 0
period_size 1024
buffer_size 4096
}
bindings {
0 0
1 1
}
}
pcm.hdmi_dmix_card1 {
type dmix
ipc_key 5687
#ipc_perm 0666
slave {
pcm "hw:1,0"
channels 2
rate 48000
period_time 0
period_size 1024
buffer_size 4096
}
bindings {
0 0
1 1
}
}
-
ttable:
ttable
(路由表)用于定义输入音频信号如何路由到输出声道。这里的表格条目如下:ttable.0.0 1
:将输入的第一个声道(左声道)映射到输出的第一个声道。ttable.1.1 1
:将输入的第二个声道(右声道)映射到输出的第二个声道。ttable.0.2 1
:将输入的第一个声道映射到输出的第三个声道。ttable.1.3 1
:将输入的第二个声道映射到输出的第四个声道。
ttable.0.0 1:
- 第一个
0
表示输入声道的索引(第一个声道)。 - 第二个
0
表示输出声道的索引(第一个声道)。 1
是权重,表示将输入声道的音频信号完全传递到输出声道。如果权重设置为0
,则表示该路由不被启用。- 如果你想调节某个声道的音量,可以使用小于
1
的值,例如0.5
表示将信号减半。