博客
关于我
amixer用法
阅读量:232 次
发布时间:2019-02-28

本文共 4694 字,大约阅读时间需要 15 分钟。

1.先看看amixer支持哪些命令,大概有哪些功能

# amixer –help

Usage: amixer <options> [command]

Available options:

-h,–help       this help
-c,–card N     select the card
-D,–device N   select the device, default ‘default’
-d,–debug      debug mode
-n,–nocheck    do not perform range checking
-v,–version    print version of this program
-q,–quiet      be quiet
-i,–inactive   show also inactive controls
-a,–abstract L select abstraction level (none or basic)
-s,–stdin      Read and execute commands from stdin sequentially

Available commands:

scontrols       show all mixer simple controls
scontents       show contents of all mixer simple controls (default command)
sset sID P      set contents for one mixer simple control
sget sID        get contents for one mixer simple control
controls        show all controls for given card
contents        show contents of all controls for given card
cset cID P      set control contents for one control
cget cID        get control contents for one control

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    controls中所输出的某个参数

amixer cset    controls中所输出的某个参数      具体的值(比如,0,1,On,Off等)

【提示】

同上面介绍的的cget/cset系列命令:

controls        show all controls for given card

contents        show contents of all controls for given card
cset cID P      set control contents for one control
cget cID        get control contents for one control

类似的,还有另外一套sget/sset系列的命令:

scontrols       show all mixer simple controls

scontents       show contents of all mixer simple controls (default command)
sset sID P      set contents for one mixer simple control
sget sID        get contents for one mixer simple control

也是同样做法,比如:

通过查看当然有哪些选择可以控制:

# 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’

转载地址:http://buaj.baihongyu.com/

你可能感兴趣的文章
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
MFC模态对话框和非模态对话框
查看>>
Moment.js常见用法总结
查看>>
MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
查看>>
mxGraph改变图形大小重置overlay位置
查看>>
MongoDB可视化客户端管理工具之NoSQLbooster4mongo
查看>>
Mongodb学习总结(1)——常用NoSql数据库比较
查看>>
MongoDB学习笔记(8)--索引及优化索引
查看>>
mongodb定时备份数据库
查看>>