# # # 当前配置文件生效后会产生如下效果 # 1. 通过amixer controls,可以看到如下音量控制器,其中通过Master Volume控制的是主音量, # default_playback用于在唤醒的时候降低背景声音。 # root@firefly:~# amixer controls # numid=1,iface=MIXER,name='Master Volume' # numid=2,iface=MIXER,name='Ch1 Volume' # numid=3,iface=MIXER,name='Ch2 Volume' # numid=4,iface=MIXER,name='default_playback' # numid=5,iface=MIXER,name='wakeup_playback' # # 2. 通过aplay播放音频文件时,会自动通过default_playback设备播放,即其他应用程序例如chrome播放音频的时候也会自动使用这个设备 # 3. 通过amixer控制音量时候,无需通过-c指定声卡编号 # 4. 通过amixer通过default_playback控制音量来实现唤醒时降低背景声音。 # 5. 通过amixer通过Master控制音量来实现对系统音量大小的控制。 # pcm.!default { type plug slave.pcm "default_playback" } ctl.!default { type hw card 2 } pcm.default_playback { type softvol slave { pcm "xa8326" } control { name "default_playback" card 2 } min_dB -40.0 max_dB 0.0 resolution 100 } pcm.wakeup_playback { type softvol slave { pcm "xa8326" } control { name "wakeup_playback" card 2 } min_dB -40.0 max_dB 0.0 resolution 100 } # 放音设备 pcm.xa8326 { type plug slave { pcm { type dmix ipc_key 321456 # any unique value ipc_key_add_uid true slave { pcm "hw:2,0" period_time 100000 # 100ms format S16_LE channels 2 } } rate 48000 format S16_LE channels 2 } } # 重采样 pcm.recorder { type plug slave { pcm { type multi slaves.xa8326.pcm "hw:2,0" slaves.xa8326.channels 2 slaves.pdm.pcm "hw:1,0" slaves.pdm.channels 8 bindings.0.slave pdm bindings.0.channel 0 bindings.1.slave pdm bindings.1.channel 1 bindings.2.slave pdm bindings.2.channel 2 bindings.3.slave pdm bindings.3.channel 3 bindings.4.slave pdm bindings.4.channel 4 bindings.5.slave pdm bindings.5.channel 5 bindings.6.slave pdm bindings.6.channel 6 bindings.7.slave pdm bindings.7.channel 7 bindings.8.slave xa8326 bindings.8.channel 0 bindings.9.slave xa8326 bindings.9.channel 1 } rate 48000 format S16_LE channels 10 } }