linux下查看音频设备
cat /proc/asound/cards
打开或安装对应组件
列出音频设备
arecord -l
aplay -l
接口图形化配置
alsamixer
列出指定声卡的所有控件
amixer contents
接口函数的配置参数
amixer controls
接口函数查询现在的参数(修改cget->cset,末尾加参数)
amixer cget numid=17,iface=MIXER,name='LINEOUT Switch'
amixer cget name='LINEOUT Switch'
amixer -D hw:audiocodec cset name='LINEOUT Switch' on
amixer -D hw:audiocodec cset name='SPK Switch' on //若off,i/o write error
amixer -D hw:audiocodec cset name='LINEOUT Gain' 31
amixer -D hw:audiocodec cset name='LINEOUT Output Select' 1
amixer -D hw:audiocodec cset name='DACL Volume' 255
aplay:播放音频
-D,--device 指定声卡设备,默认使用default
-l,--list-devices 列出当前所有声卡
-t,--file-type 指定播放文件的格式,如voc,wav,raw,不指定的情况下会去读取文件头部作识别
-c,--channels 指定通道数
-f,--format 指定采样格式
-r,--rate 采样率
-d,--duration 指定播放的时间
--period-size 指定period size
--buffer-size 指定buffer size
-Dhw:0,0 表示card0,device0
aplay -Dhw:audiocodec /mnt/extsd/ai.wav
aplay -Dhw:0,0 /mnt/extsd/ai.wav
arecord:录制音频
-D,--device 指定声卡设备,默认使用default
-l,--list-device` 列出当前所有声卡
-t,--file-type 指定播放文件的格式,如voc,wav,raw,不指定的情况下会去读取文件头部作识别
-c,--channels 指定通道数
-f,--format 指定采样格式
-r,--rate 采样率
-d,--duration 指定播放的时间
--period-size 指定period size
--buffer-siz` 指定buffer size
arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 5 test.wav
ps:若未打开对应控件,播放录制会有如下类报错:
pcm_write:2095:write error:I/O error