amixer,aplay,arecord交叉編譯及使用
一.amixer用於控制設定
amixer的幫助提示資訊
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
主要用到的命令引數有
controls:列出控制項
contents:列出控制上下文(也就是控制項和值)
cset cID P:設定控制項值
cget cID:獲取設定項值
使用方法:
1.先amixer controls列出所有控制項
numid=1,iface=MIXER,name='PCM Playback Volume' numid=22,iface=MIXER,name='Line DAC Playback Volume' numid=20,iface=MIXER,name='Line Line2 Bypass Volume' numid=21,iface=MIXER,name='Line PGA Bypass Volume' numid=32,iface=MIXER,name='Line Playback Switch' numid=25,iface=MIXER,name='Mono DAC Playback Volume' numid=23,iface=MIXER,name='Mono Line2 Bypass Volume' numid=66,iface=MIXER,name='Mono Mixer DACL1 Switch' numid=69,iface=MIXER,name='Mono Mixer DACR1 Switch' numid=64,iface=MIXER,name='Mono Mixer Line2L Bypass Switch' numid=67,iface=MIXER,name='Mono Mixer Line2R Bypass Switch' numid=65,iface=MIXER,name='Mono Mixer PGAL Bypass Switch' numid=68,iface=MIXER,name='Mono Mixer PGAR Bypass Switch' numid=24,iface=MIXER,name='Mono PGA Bypass Volume' numid=33,iface=MIXER,name='Mono Playback Switch' numid=39,iface=MIXER,name='ADC HPF Cut-off' numid=36,iface=MIXER,name='AGC Switch' numid=28,iface=MIXER,name='HP DAC Playback Volume' numid=26,iface=MIXER,name='HP Line2 Bypass Volume' numid=27,iface=MIXER,name='HP PGA Bypass Volume' numid=34,iface=MIXER,name='HP Playback Switch' numid=31,iface=MIXER,name='HPCOM DAC Playback Volume' numid=29,iface=MIXER,name='HPCOM Line2 Bypass Volume' numid=30,iface=MIXER,name='HPCOM PGA Bypass Volume' numid=35,iface=MIXER,name='HPCOM Playback Switch' numid=101,iface=MIXER,name='Left DAC Mux' numid=60,iface=MIXER,name='Left HP Mixer DACL1 Switch' numid=10,iface=MIXER,name='Left HP Mixer DACR1 Playback Volume' numid=63,iface=MIXER,name='Left HP Mixer DACR1 Switch' numid=58,iface=MIXER,name='Left HP Mixer Line2L Bypass Switch' numid=61,iface=MIXER,name='Left HP Mixer Line2R Bypass Switch' numid=8,iface=MIXER,name='Left HP Mixer Line2R Bypass Volume' numid=59,iface=MIXER,name='Left HP Mixer PGAL Bypass Switch' numid=62,iface=MIXER,name='Left HP Mixer PGAR Bypass Switch' numid=9,iface=MIXER,name='Left HP Mixer PGAR Bypass Volume' numid=48,iface=MIXER,name='Left HPCOM Mixer DACL1 Switch' numid=16,iface=MIXER,name='Left HPCOM Mixer DACR1 Playback Volume' numid=51,iface=MIXER,name='Left HPCOM Mixer DACR1 Switch' numid=46,iface=MIXER,name='Left HPCOM Mixer Line2L Bypass Switch' numid=49,iface=MIXER,name='Left HPCOM Mixer Line2R Bypass Switch' numid=14,iface=MIXER,name='Left HPCOM Mixer Line2R Bypass Volume' numid=47,iface=MIXER,name='Left HPCOM Mixer PGAL Bypass Switch' numid=50,iface=MIXER,name='Left HPCOM Mixer PGAR Bypass Switch' numid=15,iface=MIXER,name='Left HPCOM Mixer PGAR Bypass Volume' numid=100,iface=MIXER,name='Left HPCOM Mux' numid=78,iface=MIXER,name='Left Line Mixer DACL1 Switch' numid=4,iface=MIXER,name='Left Line Mixer DACR1 Playback Volume' numid=81,iface=MIXER,name='Left Line Mixer DACR1 Switch' numid=76,iface=MIXER,name='Left Line Mixer Line2L Bypass Switch' numid=79,iface=MIXER,name='Left Line Mixer Line2R Bypass Switch' numid=2,iface=MIXER,name='Left Line Mixer Line2R Bypass Volume' numid=77,iface=MIXER,name='Left Line Mixer PGAL Bypass Switch' numid=80,iface=MIXER,name='Left Line Mixer PGAR Bypass Switch' numid=3,iface=MIXER,name='Left Line Mixer PGAR Bypass Volume' numid=92,iface=MIXER,name='Left Line1L Mux' numid=91,iface=MIXER,name='Left Line1R Mux' numid=90,iface=MIXER,name='Left Line2L Mux' numid=93,iface=MIXER,name='Left PGA Mixer Line1L Switch' numid=94,iface=MIXER,name='Left PGA Mixer Line1R Switch' numid=95,iface=MIXER,name='Left PGA Mixer Line2L Switch' numid=96,iface=MIXER,name='Left PGA Mixer Mic3L Switch' numid=97,iface=MIXER,name='Left PGA Mixer Mic3R Switch' numid=38,iface=MIXER,name='PGA Capture Switch' numid=37,iface=MIXER,name='PGA Capture Volume' numid=99,iface=MIXER,name='Right DAC Mux' numid=13,iface=MIXER,name='Right HP Mixer DACL1 Playback Volume' numid=54,iface=MIXER,name='Right HP Mixer DACL1 Switch' numid=57,iface=MIXER,name='Right HP Mixer DACR1 Switch' numid=52,iface=MIXER,name='Right HP Mixer Line2L Bypass Switch' numid=11,iface=MIXER,name='Right HP Mixer Line2L Bypass Volume' numid=55,iface=MIXER,name='Right HP Mixer Line2R Bypass Switch' numid=53,iface=MIXER,name='Right HP Mixer PGAL Bypass Switch' numid=12,iface=MIXER,name='Right HP Mixer PGAL Bypass Volume' numid=56,iface=MIXER,name='Right HP Mixer PGAR Bypass Switch' numid=19,iface=MIXER,name='Right HPCOM Mixer DACL1 Playback Volume' numid=42,iface=MIXER,name='Right HPCOM Mixer DACL1 Switch' numid=45,iface=MIXER,name='Right HPCOM Mixer DACR1 Switch' numid=40,iface=MIXER,name='Right HPCOM Mixer Line2L Bypass Switch' numid=17,iface=MIXER,name='Right HPCOM Mixer Line2L Bypass Volume' numid=43,iface=MIXER,name='Right HPCOM Mixer Line2R Bypass Switch' numid=41,iface=MIXER,name='Right HPCOM Mixer PGAL Bypass Switch' numid=18,iface=MIXER,name='Right HPCOM Mixer PGAL Bypass Volume' numid=44,iface=MIXER,name='Right HPCOM Mixer PGAR Bypass Switch' numid=98,iface=MIXER,name='Right HPCOM Mux' numid=7,iface=MIXER,name='Right Line Mixer DACL1 Playback Volume' numid=72,iface=MIXER,name='Right Line Mixer DACL1 Switch' numid=75,iface=MIXER,name='Right Line Mixer DACR1 Switch' numid=70,iface=MIXER,name='Right Line Mixer Line2L Bypass Switch' numid=5,iface=MIXER,name='Right Line Mixer Line2L Bypass Volume' numid=73,iface=MIXER,name='Right Line Mixer Line2R Bypass Switch' numid=71,iface=MIXER,name='Right Line Mixer PGAL Bypass Switch' numid=6,iface=MIXER,name='Right Line Mixer PGAL Bypass Volume' numid=74,iface=MIXER,name='Right Line Mixer PGAR Bypass Switch' numid=84,iface=MIXER,name='Right Line1L Mux' numid=83,iface=MIXER,name='Right Line1R Mux' numid=82,iface=MIXER,name='Right Line2R Mux' numid=86,iface=MIXER,name='Right PGA Mixer Line1L Switch' numid=85,iface=MIXER,name='Right PGA Mixer Line1R Switch' numid=87,iface=MIXER,name='Right PGA Mixer Line2R Switch' numid=88,iface=MIXER,name='Right PGA Mixer Mic3L Switch' numid=89,iface=MIXER,name='Right PGA Mixer Mic3R Switch'
2.如果對控制項不熟悉或者想檢視當前的所有配置可以使用amixer contents
numid=1,iface=MIXER,name='PCM Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0 : values=64,64 | dBscale-min=-63.50dB,step=0.50dB,mute=0 numid=22,iface=MIXER,name='Line DAC Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=20,iface=MIXER,name='Line Line2 Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=21,iface=MIXER,name='Line PGA Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=32,iface=MIXER,name='Line Playback Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=25,iface=MIXER,name='Mono DAC Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=23,iface=MIXER,name='Mono Line2 Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=66,iface=MIXER,name='Mono Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=69,iface=MIXER,name='Mono Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=64,iface=MIXER,name='Mono Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=67,iface=MIXER,name='Mono Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=65,iface=MIXER,name='Mono Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=68,iface=MIXER,name='Mono Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=24,iface=MIXER,name='Mono PGA Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=33,iface=MIXER,name='Mono Playback Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=39,iface=MIXER,name='ADC HPF Cut-off' ; type=ENUMERATED,access=rw------,values=2,items=4 ; Item #0 'Disabled' ; Item #1 '0.0045xFs' ; Item #2 '0.0125xFs' ; Item #3 '0.025xFs' : values=0,0 numid=36,iface=MIXER,name='AGC Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=28,iface=MIXER,name='HP DAC Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=26,iface=MIXER,name='HP Line2 Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=27,iface=MIXER,name='HP PGA Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=34,iface=MIXER,name='HP Playback Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=31,iface=MIXER,name='HPCOM DAC Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=29,iface=MIXER,name='HPCOM Line2 Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=30,iface=MIXER,name='HPCOM PGA Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=35,iface=MIXER,name='HPCOM Playback Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=101,iface=MIXER,name='Left DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_L1' ; Item #1 'DAC_L3' ; Item #2 'DAC_L2' : values=2 numid=60,iface=MIXER,name='Left HP Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=10,iface=MIXER,name='Left HP Mixer DACR1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=63,iface=MIXER,name='Left HP Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=58,iface=MIXER,name='Left HP Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=61,iface=MIXER,name='Left HP Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=8,iface=MIXER,name='Left HP Mixer Line2R Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=59,iface=MIXER,name='Left HP Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=62,iface=MIXER,name='Left HP Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=9,iface=MIXER,name='Left HP Mixer PGAR Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=48,iface=MIXER,name='Left HPCOM Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=16,iface=MIXER,name='Left HPCOM Mixer DACR1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=51,iface=MIXER,name='Left HPCOM Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=46,iface=MIXER,name='Left HPCOM Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=49,iface=MIXER,name='Left HPCOM Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=14,iface=MIXER,name='Left HPCOM Mixer Line2R Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=47,iface=MIXER,name='Left HPCOM Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=50,iface=MIXER,name='Left HPCOM Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=15,iface=MIXER,name='Left HPCOM Mixer PGAR Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=100,iface=MIXER,name='Left HPCOM Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'differential of HPLOUT' ; Item #1 'constant VCM' ; Item #2 'single-ended' : values=0 numid=78,iface=MIXER,name='Left Line Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=4,iface=MIXER,name='Left Line Mixer DACR1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=81,iface=MIXER,name='Left Line Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=76,iface=MIXER,name='Left Line Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=79,iface=MIXER,name='Left Line Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=2,iface=MIXER,name='Left Line Mixer Line2R Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=77,iface=MIXER,name='Left Line Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=80,iface=MIXER,name='Left Line Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=3,iface=MIXER,name='Left Line Mixer PGAR Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=92,iface=MIXER,name='Left Line1L Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=91,iface=MIXER,name='Left Line1R Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=90,iface=MIXER,name='Left Line2L Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=93,iface=MIXER,name='Left PGA Mixer Line1L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=94,iface=MIXER,name='Left PGA Mixer Line1R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=95,iface=MIXER,name='Left PGA Mixer Line2L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=96,iface=MIXER,name='Left PGA Mixer Mic3L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=97,iface=MIXER,name='Left PGA Mixer Mic3R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=38,iface=MIXER,name='PGA Capture Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=37,iface=MIXER,name='PGA Capture Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=119,step=0 : values=32,32 | dBscale-min=0.00dB,step=0.50dB,mute=0 numid=99,iface=MIXER,name='Right DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_R1' ; Item #1 'DAC_R3' ; Item #2 'DAC_R2' : values=2 numid=13,iface=MIXER,name='Right HP Mixer DACL1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=54,iface=MIXER,name='Right HP Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=57,iface=MIXER,name='Right HP Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=52,iface=MIXER,name='Right HP Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=11,iface=MIXER,name='Right HP Mixer Line2L Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=55,iface=MIXER,name='Right HP Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=53,iface=MIXER,name='Right HP Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=12,iface=MIXER,name='Right HP Mixer PGAL Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=56,iface=MIXER,name='Right HP Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=19,iface=MIXER,name='Right HPCOM Mixer DACL1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=42,iface=MIXER,name='Right HPCOM Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=45,iface=MIXER,name='Right HPCOM Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=40,iface=MIXER,name='Right HPCOM Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=17,iface=MIXER,name='Right HPCOM Mixer Line2L Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=116 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=43,iface=MIXER,name='Right HPCOM Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=41,iface=MIXER,name='Right HPCOM Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=18,iface=MIXER,name='Right HPCOM Mixer PGAL Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=44,iface=MIXER,name='Right HPCOM Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=98,iface=MIXER,name='Right HPCOM Mux' ; type=ENUMERATED,access=rw------,values=1,items=5 ; Item #0 'differential of HPROUT' ; Item #1 'constant VCM' ; Item #2 'single-ended' ; Item #3 'differential of HPLCOM' ; Item #4 'external feedback' : values=0 numid=7,iface=MIXER,name='Right Line Mixer DACL1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=72,iface=MIXER,name='Right Line Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=75,iface=MIXER,name='Right Line Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=70,iface=MIXER,name='Right Line Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=5,iface=MIXER,name='Right Line Mixer Line2L Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=73,iface=MIXER,name='Right Line Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=71,iface=MIXER,name='Right Line Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=6,iface=MIXER,name='Right Line Mixer PGAL Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=74,iface=MIXER,name='Right Line Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=84,iface=MIXER,name='Right Line1L Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=83,iface=MIXER,name='Right Line1R Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=82,iface=MIXER,name='Right Line2R Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=86,iface=MIXER,name='Right PGA Mixer Line1L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=85,iface=MIXER,name='Right PGA Mixer Line1R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=87,iface=MIXER,name='Right PGA Mixer Line2R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=88,iface=MIXER,name='Right PGA Mixer Mic3L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=89,iface=MIXER,name='Right PGA Mixer Mic3R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off
3.檢視獲取某個設定項的值用amixer cget +控制引數
這裡控制引數直接複製amixer controls打印出來的資料就行
類似numid=94,iface=MIXER,name='Left PGA Mixer Line1R Switch'
[email protected]:/# amixer cget numid=94,iface=MIXER,name='Left PGA Mixer Line1R Switch'
numid=94,iface=MIXER,name='Left PGA Mixer Line1R Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
4.根據控制引數型別設定控制引數使用amixer cset +控制引數+" "+引數
記住要用空格隔開控制引數和引數
[email protected]:/# amixer cset numid=94,iface=MIXER,name='Left PGA Mixer Line1R Switch' on
numid=94,iface=MIXER,name='Left PGA Mixer Line1R Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
5.引數
values表示數值對於volume之類的是具體的數字,在上下文選單中有顯示數值的範圍,
對於swith之類的表示開關一般是on或off
二、aplay和arecord用於播放和記錄
arecord幫助提示資訊
Usage: arecord [OPTION]... [FILE]...
-h, --help help
--version print current version
-l, --list-devices list all soundcards and digital audio devices
-L, --list-pcms list device names
-D, --device=NAME select PCM by name
-q, --quiet quiet mode
-t, --file-type TYPE file type (voc, wav, raw or au)
-c, --channels=# channels
-f, --format=FORMAT sample format (case insensitive)
-r, --rate=# sample rate
-d, --duration=# interrupt after # seconds
-M, --mmap mmap stream
-N, --nonblock nonblocking mode
-F, --period-time=# distance between interrupts is # microseconds
-B, --buffer-time=# buffer duration is # microseconds
--period-size=# distance between interrupts is # frames
--buffer-size=# buffer duration is # frames
-A, --avail-min=# min available space for wakeup is # microseconds
-R, --start-delay=# delay for automatic PCM start is # microseconds
(relative to buffer size if <= 0)
-T, --stop-delay=# delay for automatic PCM stop is # microseconds from xrun
-v, --verbose show PCM structure and setup (accumulative)
-V, --vumeter=TYPE enable VU meter (TYPE: mono or stereo)
-I, --separate-channels one file for each channel
--disable-resample disable automatic rate resample
--disable-channels disable automatic channel conversions
--disable-format disable automatic format conversions
--disable-softvol disable software volume control (softvol)
--test-position test ring buffer position
--test-coef=# test coeficient for ring buffer position (default 8)
expression for validation is: coef * (buffer_size / 2)
--test-nowait do not wait for ring buffer - eats whole CPU
--max-file-time=# start another output file when the old file has recorded
for this many seconds
--process-id-file write the process ID here
--use-strftime apply the strftime facility to the output file name
Recognized sample formats are: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM SPECIAL S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE
Some of these may not be available on selected hardware
The availabled format shortcuts are:
-f cd (16 bit little endian, 44100, stereo)
-f cdr (16 bit big endian, 44100, stereo)
-f dat (16 bit little endian, 48000, stereo)
arecord -l列出音效卡和數字音訊裝置
card 0: SOUND0 [TI81XX SOUND0], device 0: TVP-PCM tvp5158-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: SOUND0 [TI81XX SOUND0], device 1: AIC3X tlv320aic3x-hifi-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0
-D引數用於指定音訊裝置PCM
以hwx,x開頭
根據上面l列出的裝置,如果選擇tvp5158來錄製聲音的話那麼pcm裝置就位hw0,0,如果是tlv320aic3x則pcm裝置為hw0,1。
音效卡號,裝置號
-r指定取樣頻率:5512/8000/11025/16000/22050/32000/44100/48000/64000/88200/96000/176400/192000
-f指定取樣格式上面列出了:cd/cdr/dat
錄製音訊的完整命令例子
arecord -Dhw:0,1 -r8000 -f cd /a/1.wmv
之後在/a目錄下可以找到1.wmv檔案
aplay幫助提示資訊
Usage: aplay [OPTION]... [FILE]...
-h, --help help
--version print current version
-l, --list-devices list all soundcards and digital audio devices
-L, --list-pcms list device names
-D, --device=NAME select PCM by name
-q, --quiet quiet mode
-t, --file-type TYPE file type (voc, wav, raw or au)
-c, --channels=# channels
-f, --format=FORMAT sample format (case insensitive)
-r, --rate=# sample rate
-d, --duration=# interrupt after # seconds
-M, --mmap mmap stream
-N, --nonblock nonblocking mode
-F, --period-time=# distance between interrupts is # microseconds
-B, --buffer-time=# buffer duration is # microseconds
--period-size=# distance between interrupts is # frames
--buffer-size=# buffer duration is # frames
-A, --avail-min=# min available space for wakeup is # microseconds
-R, --start-delay=# delay for automatic PCM start is # microseconds
(relative to buffer size if <= 0)
-T, --stop-delay=# delay for automatic PCM stop is # microseconds from xrun
-v, --verbose show PCM structure and setup (accumulative)
-V, --vumeter=TYPE enable VU meter (TYPE: mono or stereo)
-I, --separate-channels one file for each channel
--disable-resample disable automatic rate resample
--disable-channels disable automatic channel conversions
--disable-format disable automatic format conversions
--disable-softvol disable software volume control (softvol)
--test-position test ring buffer position
--test-coef=# test coeficient for ring buffer position (default 8)
expression for validation is: coef * (buffer_size / 2)
--test-nowait do not wait for ring buffer - eats whole CPU
--max-file-time=# start another output file when the old file has recorded
for this many seconds
--process-id-file write the process ID here
--use-strftime apply the strftime facility to the output file name
Recognized sample formats are: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM SPECIAL S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE
Some of these may not be available on selected hardware
The availabled format shortcuts are:
-f cd (16 bit little endian, 44100, stereo)
-f cdr (16 bit big endian, 44100, stereo)
-f dat (16 bit little endian, 48000, stereo)
aplay -l 列出音效卡和數字音訊裝置
card 0: SOUND0 [TI81XX SOUND0], device 1: AIC3X tlv320aic3x-hifi-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SOUND1 [TI81XX SOUND1], device 0: hdmi HDMI-DAI-CODEC-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
-D引數用於指定音訊裝置PCM
以hwx,x開頭
根據上面l列出的裝置,如果選擇tlv320aic3x來播放聲音的話那麼pcm裝置就位hw0,1,如果是hdmi則pcm裝置為hw0,0。
音效卡號,裝置號
-r指定取樣頻率:5512/8000/11025/16000/22050/32000/44100/48000/64000/88200/96000/176400/192000
-f指定取樣格式上面列出了:cd/cdr/dat
完整的播放例子:
aplay -Dhw:0,1 -r8000 -f cd /a/1.wmv
上面的例子必須先錄製在播放,如果想要一邊播放一邊收聽可以用下面利用管道的命令
arecord -Dhw:0,1 -r192000 -f cd|aplay -Dhw:0,1 -r192000
三.交叉編譯
1.官網http://www.alsa-project.org下載alsa-lib和alsa-utils
我的版本:alsa-lib-1.0.27.2.tar.bz2 和alsa-utils-1.0.27.2.tar.bz2
2.建立/home/m/3rd/alsa目錄,並在目錄下建立install目錄,接著把壓縮包拷到alsa目錄下
3.編譯alsa-lib步驟
tar -xvf alsa-lib-1.0.27.2.tar.bz2
cd alsa-lib-1.0.27.2
CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-linux --prefix=/home/m/3rd/alsa/install/
make
make install
4.編譯alsa-utils步驟
tar -xvf alsa-utils-1.0.27.2.tar.bz2
cd alsa-utils-1.0.27.2
CC=arm-none-linux-gnueabi-gcc ./configure --prefix=/home/m/3rd/alsa/install/ --host=arm-linux --with-alsa-inc-prefix=/home/m/3rd/alsa/install/include --with-alsa-prefix=/home/m/3rd/alsa/install/lib --disable-alsamixer --disable-xmlto --disable-nls
make
5.簡單說明
--prefix指定了alsa-lib編譯後的安裝目錄,包含庫和標頭檔案,編譯alsa-utils時候要指明它的庫lib和標頭檔案include的目錄.
alsamixer是圖形化的amixer工具,需要ncurses的支援,在secure CRT中亂碼,怕麻煩用--disable-alsamixer禁用了它.
--disable-xmlto和--disable-nls去掉編譯都不通過,沒去研究為啥.
aplay和arecord是同一個東東改下名字就可以了
真相在此
if (strstr(argv[0], "arecord")) {
stream = SND_PCM_STREAM_CAPTURE;
file_type = FORMAT_WAVE;
command = "arecord";
start_delay = 1;
direction = stdout;
} else if (strstr(argv[0], "aplay")) {
stream = SND_PCM_STREAM_PLAYBACK;
command = "aplay";
direction = stdin;
} else {
error(_("command should be named either arecord or aplay"));
return 1;
}
相關推薦
amixer,aplay,arecord交叉編譯及使用
一.amixer用於控制設定 amixer的幫助提示資訊 Usage: amixer <options> [command] Available options: -h,--help this help -c,--card N s
樹莓派3b+ 交叉編譯 及升級 kernel
安裝 gcc pkg 等工具sudo apt-get install build-essential git 官方介紹 https://www.raspberrypi.org/documentation/linux/kernel/building.mdhttps://www.raspberrypi.org
qtcreator下cmake工程交叉編譯及遠端部署環境搭建
1 安裝目標開發板對應的交叉編譯器。 首先,在開發板上使用下面命令檢視cpu硬體架構: uname -a我的顯示有aarch64字樣,即我的開發板為armv8a-aarch64架構。接下來在開發電腦上使用下面命令來安裝c和c++編譯器: sudo apt-get ins
tcpdump交叉編譯及使用
第一步.下載 官方網站:http://www.tcpdump.org/ 需要下載libpcap包和tcpdump包 我下載的版本是:libpcap-1.4.0.tar.gz和tcpdump-4.4.0.tar.gz 第二步.編譯libpcap包 2.1 解壓tar -zxv
X264的ARMV7-a的交叉編譯及優化執行
一:準備工作 1、作業系統是Ubuntu 12.04。 2、需要安裝Google的NDK工具,因為在編譯時使用了NDK提供的編譯器。我的NDK的安裝目錄放在/home/shallon/android-ndk-r8d。另外,需要安裝android的SDK,提供ADB等除
Mips平臺kaldi原始碼的交叉編譯一OpenBlas及Clapack的交叉編譯
前言: OpenBlas是一款開源的矩陣運算庫,具體介紹參考http://www.openblas.net/ 。在linux PC上,即訓練時,採用的數學矩陣庫為atlas,此數學庫未開源,在linux中只提供lib庫,所以在嵌入式平臺中,我們需要編譯openblas生成對應的數學
樹莓派交叉編譯環境及wiringPi庫
首先,我的硬體是樹莓派3b+,需求是: 1.在主機上使用樹莓派的編譯器,生成樹莓派可執行檔案 2.在主機上使用樹莓派的動態連結庫,如pthread、wiringPi等 樹莓派的交叉編譯環境還算好弄的,解壓 ->
openWRT Ubuntu環境搭建及交叉編譯工具製作與使用
Openwrt本身不支援直接編譯C語言的,不支援GCC,因此,我們在Ubuntu下寫好的程式碼,通過gcc編譯後的可執行檔案是不能直接在openWRT上執行的。 因此,我們需要製作基於openWRT的交叉編譯工具 toolchain。 1
交叉編譯AWS IOT C++ SDK及環境測試
開始前 先強烈建議 登入控制檯走一遍亞馬遜的引導流程,並用nodejs版 在你ubuntu上跑一邊,把策略檔案生成了。並瞭解如何建立事物(裝置) 當前版本: aws-iot-device-sdk-cpp: Release version 1.3.0 O
Linux下QT及OpenCV搭建,以及交叉編譯OpenCV
由於word圖片很多,不方便上傳,所以改成圖片 為了方便大家複製貼上,文件已經上傳(不需要積分),下載地址: http://download.csdn.net/detail/bizer_csdn/9560001 注意交叉編譯OpenCV時候,選不同版本可能需要改原始碼,
【Linux】Linux下MIPS平臺交叉編譯FFmpeg庫 及使用庫擷取視訊中的某一幀
一.Linux下MIPS平臺交叉編譯FFmpeg庫: 1.下載ffmpeg庫的原始碼 (http://sourceforge.net/project/showfiles.php?group_id=205275&package_id=248632): [[email
visual studio 2013上搭建arm交叉編譯環境(二) cygwin等軟體的安裝及配置
前文已經簡單介紹了要使用visualstudio來搭建arm交叉編譯環境需要安裝的軟體,本篇介紹下各種軟體的安裝方法,主要介紹cygwin的安裝和cygwin中arm9交叉編譯環境的建立,至於vs的安裝,visual gdb的安裝非常簡單,就不做介紹。 一 Visua
Qt安裝及交叉編譯環境設定
1、安裝Qt 我這裡安裝的是中文版的Qt_SDK,網上一般只能收到英文版。QtSdk-offline-linux-x86-v1.2.1.run(763M)。 拷貝到linux下,先chmod可執行許可權 #chmod -x QtSdk-offline-linux-x86-
arm-linux交叉編譯環境搭建及交叉工具鏈 (JZ2440v2)
1. 交叉編譯環境搭建: (1)[email protected]:/home/caihuanming# #不是root使用者 tar xvf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 -C ./
visual studio 2013上搭建arm交叉編譯環境(四)makefile配置及編譯過程
上篇文章已經介紹了cygwin測試工程建立和生成的方法,本文在此工程的基礎上,介紹makefile修改及編譯過程。 debug.mak是makefile的配置檔案,此檔案通過makefile中如下語句匯入到makefile中,作為makefile特定變數的
聯發科Linkit 7688 (一) 上手及在Mac下搭建OpenWrt交叉編譯環境,C語言編譯Hello,World
Linkit 系列博文: 淘了一塊聯發科 Linkit 7688 DUO 開發板(99元)。 這是一塊物聯網開發板,基於聯發科 Linkit 7688晶片、同時相容Arduino. 內建OpenWrt系統、支援Wifi聯網,用於開發智慧路由器、智慧物體等。
交叉編譯基於ARM架構的linux-3.6核心遇到的問題及解決方法
編譯linux-3.6核心: 安裝交叉編譯工具:arm-linux-gnueabi-gcc 下載並解壓linux-3.6原始碼 清楚原始碼中的無用的編譯檔案:makeclean清除除了config之外的所有編譯出來的文件,makemrproper將配置的config也一併清
編譯安裝golang1.7及golang程式的交叉編譯
鑑於ubuntu上的apt-get方式安裝的golang是1.2.1,版本過於老舊,最新版本的golang需要自己動手。最簡單的方式是下載編譯好的包,例如對於64位的ubuntu來說,下載go1.7.1.linux-amd64.tar.gz,解壓到/usr/
【ARM】交叉編譯 bluez-4.95 步驟及使用方法
一、前期準備: Ubuntu 12.04 需要的包: expat-2.0.1.tar.gz dbus-1.4.1.tar.gz glib-2.16.2.tar.gz bluez-4.95.tar.gz bluez-hcidump-2.5.tar
交叉編譯工具鏈-及arm-linux-androideabi-gcc編譯方法
一、編譯器: 就是將“高階語言”翻譯為“機器語言(低階語言)”的程式。一個現代編譯器的主要工作流程:原始碼 (source code) → 前處理器 (preprocessor) → 編譯器 (compiler) → 彙編程式 (assembler) →