我已经构建了一个带音量控制的Raspberry Pi音乐播放器。问题是当音量非常低或非常高时,声音效果(按钮按下哔哔声等)也太弱或太大。 Raspberry Pi使用PulseAudio(系统守护进程),这是它的PulseAudio设置:
# pactl list short
0 module-udev-detect
1 module-alsa-card device_id="0" name="platform-soc_sound" card_name="alsa_card.platform-soc_sound" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
2 module-native-protocol-unix auth-cookie-enabled=0
3 module-stream-restore
4 module-device-restore
5 module-default-device-restore
6 module-bluetooth-policy
7 module-bluetooth-discover
8 module-bluez5-discover
9 module-rescue-streams
10 module-always-sink
11 module-switch-on-connect
0 alsa_output.platform-soc_sound.analog-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
0 alsa_output.platform-soc_sound.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz IDLE
1 0 0 protocol-native.c s24-32le 2ch 44100Hz
0 protocol-native.c mpd
48 protocol-native.c pactl
0 startup float32le 2ch 44100Hz 3.279
1 beep_60 float32le 1ch 44100Hz 0.119
2 beep_70 float32le 1ch 44100Hz 0.119
3 beep_60_70 float32le 1ch 44100Hz 0.166
4 error float32le 2ch 44100Hz 0.702
5 bt float32le 1ch 44100Hz 0.264
0 alsa_card.platform-soc_sound module-alsa-card.c
我播放样本,使用:
pactl play-sample startup
此命令可以使用其他参数,即要播放的PulseAudio接收器。
解决方案似乎以某种方式创建了一个接收器,将其连接到Alsa卡并使用它来播放样本。我假设这个接收器有自己的音量控制。