我有两张立体声声卡,我想创建虚拟 4.0 接收器以使用 4 声道音频。我使用以下 pulseaudio 配置:
load-module module-alsa-sink sink_name=output1 device="hw:0" channels=2 channel_map=front-left,front-right tsched=0
load-module module-alsa-sink sink_name=output2 device="hw:1" channels=2 channel_map=rear-left,rear-right tsched=0
load-module module-combine-sink sink_name=combined slaves=output1,output2 channels=4 channel_map=front-left,front-right,rear-left,rear-right
set-default-sink combined
我测试了此配置,speaker-test -c4 -t wav
并且通道路由正确。但现在我无法更改每个通道的每个应用程序的音量。我尝试使用
pactl set-sink-input-volume <combined_sink_number> 20% 20% 20% 90%
命令,但第一对音量值会影响前后声道。第二对音量值不影响任何内容。
编辑:
enable-remixing = no
设置后,/etc/pulse/daemon.conf
第二张卡(后置声道)上的声音消失了。我用aplay
它来测试。speaker-test
像以前一样正常工作。这是 wav 文件的问题还是 的问题aplay
?以下是有关我用于此测试的 wav 文件的一些附加信息:
mediainfo test.wav:
Audio
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 00001000-0000-0100-8000-00AA00389B71
Duration : 5mn 23s
Bit rate mode : Constant
Bit rate : 3 072 Kbps
Channel(s) : 4 channels
Channel positions : Front: L R, Back: L R
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Stream size : 119 MiB (100%)
aplay test.wav -v:
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
ALSA <-> PulseAudio PCM I/O Plugin
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 4
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 24000
period_size : 6000
period_time : 125000
tstamp_mode : NONE
tstamp_type : GETTIMEOFDAY
period_step : 1
avail_min : 6000
period_event : 0
start_threshold : 24000
stop_threshold : 24000
silence_threshold: 0
silence_size : 0
boundary : 1572864000