使用到命令:
amixer命令:
对于amixer的使用,你首先需要搞懂你要设置的参数是哪些,然后才可能去了解,如何去配置对应的值,整体来说,相对alsamixer来说,是有点繁琐,下面简要介绍其具体用法:
2.再看看当前你的音频系统(不同的音频驱动对应不同的内容和操作接口)提供了那些供你使用的接口去操作
关于驱动里面已经提供了多少接口可以去操作,可以用命令:
amixer contents
查看,比如:
# amixer controls
numid=3,iface=MIXER,name=’Master Mode Switch’
numid=29,iface=MIXER,name=’Master Mux’
numid=4,iface=MIXER,name=’Master Quality Switch’
numid=2,iface=MIXER,name=’Master Switch’
numid=1,iface=MIXER,name=’Master Volume’
numid=7,iface=MIXER,name=’PCM Mode Switch’
numid=6,iface=MIXER,name=’PCM Switch’
numid=5,iface=MIXER,name=’PCM Volume’
numid=21,iface=MIXER,name=’Line Input Switch’
numid=16,iface=MIXER,name=’Line Mode Switch’
numid=27,iface=MIXER,name=’Line Mux’
。。。。。
numid=9,iface=MIXER,name=’Mic Switch’
numid=8,iface=MIXER,name=’Mic Volume’
numid=19,iface=MIXER,name=’ADC Mode Switch’
numid=28,iface=MIXER,name=’ADC Mux’
。。。。。。。。
去查看,当然你的Linux内核支持哪些配置参数,如上,一共有20多个参数可供你配置。
而对于所有的当然的配置的值,可以通过这个查看:
# amixer contents
numid=3,iface=MIXER,name=’Master Mode Switch’
; type=ENUMERATED,access=rw——,values=1,items=2
; Item #0 ‘Common Buffer Off’
; Item #1 ‘Common Buffer On’
: values=0
。。。。。。。。。。
numid=5,iface=MIXER,name=’PCM Volume’
; type=INTEGER,access=rw—R–,values=2,min=0,max=27,step=0
: values=27,27
| dBscale-min=-40.50dB,step=1.50dB,mute=0
numid=24,iface=MIXER,name=’Mixer ADC Mix Switch’
; type=BOOLEAN,access=rw——,values=1
: values=off
numid=26,iface=MIXER,name=’Mixer DAC Mix Switch’
; type=BOOLEAN,access=rw——,values=1
: values=on
numid=25,iface=MIXER,name=’Mixer Line Mix Switch’
; type=BOOLEAN,access=rw——,values=1
: values=on
numid=23,iface=MIXER,name=’Mixer Mic Mix Switch’
; type=BOOLEAN,access=rw——,values=1
: values=on
3.搞懂如何去设置某个参数
总结起来就是,先要用get系列命令去看懂有哪些接口,然后再去用set系列的命令,去设置对应你所要设置的值。
想要针对某项设置,比如想要设置上面的的主音量,master volume,即controls中显示的:
numid=5,iface=MIXER,name=’PCM Volume’
那么,可以先看看当前的值:
# amixer cget numid=5,iface=MIXER,name=’PCM Volume’
numid=5,iface=MIXER,name=’PCM Volume’
; type=INTEGER,access=rw—R–,values=2,min=0,max=27,step=0
: values=27,27
| dBscale-min=-40.50dB,step=1.50dB,mute=0
显示的是最大的27,假设想要设置为25,那么就用cset去设置:
# amixer cset numid=5,iface=MIXER,name=’PCM Volume’ 25
numid=5,iface=MIXER,name=’PCM Volume’
; type=INTEGER,access=rw—R–,values=2,min=0,max=27,step=0
: values=25,25
| dBscale-min=-40.50dB,step=1.50dB,mute=0
再比如,去将’Mic Supply 的switch关闭:
# amixer cset numid=12,iface=MIXER,name=’Mic Supply Switch’ Off
numid=12,iface=MIXER,name=’Mic Supply Switch’
; type=ENUMERATED,access=rw——,values=1,items=2
; Item #0 ‘On’
; Item #1 ‘Off’
: values=1
总结一下用法,就是:
amixer cget
amixer cset
【提示】
同上面介绍的的cget/cset系列命令:
controls
contents
cset cID P
cget cID
类似的,还有另外一套sget/sset系列的命令:
scontrols
scontents
sset sID P
sget sID
也是同样做法,比如:
通过查看当然有哪些选择可以控制:
# amixer scontrols
Simple mixer control ‘Master’,0
Simple mixer control ‘Master Mode’,0
Simple mixer control ‘Master Mux’,0
Simple mixer control ‘Master Quality’,0
。。。
同理,amixer scontents,可以查看当前所有的值,具体就不在这列举了。
另外,去查看或者配置用sget,比如:
# amixer sget ‘Microphone Input’,0
Simple mixer control ‘Microphone Input’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
如果想要修改对应设置,用amixer sset ,具体用法是:
amixer sset sID(控制字符串) P(支持的某个值)
其中sID,就是上面的Simple mixer control后面的那个字符串,比如’Master Mux’,0
而对其设置就是,先看看其提供了哪些供你设置的值:
# amixer sget ‘Master Mux’,0
Simple mixer control ‘Master Mux’,0
Capabilities: enum
Items: ‘Sum’ ‘DAC’ ‘Line’ ‘Mic’
Item0: ‘DAC’
然后比如要设置成Line的,就可以这样:
# amixer sset ‘Master Mux’,0 Line
Simple mixer control ‘Master Mux’,0
Capabilities: enum
Items: ‘Sum’ ‘DAC’ ‘Line’ ‘Mic’
Item0: ‘Line’
多个声卡可能需要手动设置默认设备:
aplay -l
创建或者修改/etc/asound.conf(对所有用户有效),~/.asound.conf(对本用户有效)
defaults.pcm.card 0
defaults.pcm.device 0
defaults.ctl.card 0