V853开发板硬件指南——音频功能
-
音频功能
V853 开发板板载了两路麦克风输入,一路音频输入,一个扬声器输出。(注意,左侧 UART0 旁的 3.5mm 耳机接口是 GPS 使用的 UART 接口,不是耳机接口)
录音
- 查看录音设备
可以使用
arecord -l
命令查看开发板提供的录音设备。root@TinaLinux:/# arecord -l
它会输出以下内容
**** List of CAPTURE Hardware Devices **** card 0: audiocodec [audiocodec], device 0: soc@03000000:codec_plat-sunxi-snd-codec sunxi-snd-codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
- 麦克风录音
V853 开发板板载了两个麦克风,位于 LINE-IN接口附近。
在录音之前,首先需要打开音频通路,配置内部 MIC1,MIC2 录制双通道音频。
选择 MIC1 输入
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Input Select' 0
它会输出以下内容
numid=23,iface=MIXER,name='MIC1 Input Select' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'differ' ; Item #1 'single' : values=0
选择 MIC2 输入
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Input Select' 0
它会输出以下内容
numid=23,iface=MIXER,name='MIC2 Input Select' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'differ' ; Item #1 'single' : values=0
开启 MIC1
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Switch' 1
它会输出以下内容
numid=17,iface=MIXER,name='MIC1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on
开启 MIC2
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Switch' 1
它会输出以下内容
numid=17,iface=MIXER,name='MIC2 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on
设置 MIC1 音量
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 gain volume' 30
它会输出以下内容
numid=12,iface=MIXER,name='MIC1 gain volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0 : values=19 | dBscale-min=0.00dB,step=1.00dB,mute=0
设置 MIC2 音量
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 gain volume' 30
它会输出以下内容
numid=12,iface=MIXER,name='MIC2 gain volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0 : values=19 | dBscale-min=0.00dB,step=1.00dB,mute=0
使用
arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav
命令,使用板载的两个麦克风进行录音。root@TinaLinux:/# arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav
它会输出以下内容
Recording WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
播放
- 查看播放设备
使用 aplay -l 查看播放设备
root@TinaLinux:/# aplay -l
它会输出以下内容
**** List of PLAYBACK Hardware Devices **** card 0: audiocodec [audiocodec], device 0: soc@03000000:codec_plat-sunxi-snd-codec sunxi-snd-codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
- 扬声器播放音频
在播放之前,首先需要打开音频通路,配置扬声器播放音频。
开启 LINEOUT 输出功能
root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Output Select' 1
它会输出以下内容
numid=22,iface=MIXER,name='LINEOUT Output Select' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single' ; Item #1 'differ' : values=1
开启 LINEOUT 通路
root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Switch' 1
它会输出以下内容
numid=20,iface=MIXER,name='LINEOUT Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on
设置输出音量
root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT volume' 25
它会输出以下内容
numid=16,iface=MIXER,name='LINEOUT volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0 : values=25 | dBrange- rangemin=0,,rangemax=1 | dBscale-min=0.00dB,step=0.00dB,mute=1 rangemin=2,,rangemax=31 | dBscale-min=-43.50dB,step=1.50dB,mute=1
使用 aplay 通过外接扬声器播放刚才录制的音频。
aplay -D hw:audiocodec t.wav
它会输出以下内容
Playing WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
修改音量
使用
alsamixer
提供的图形化界面调整音量。root@TinaLinux:/# alasmixer
-
整点干脆的嘛!一起放出来sdk得了
-
@yelong98 我先来:搁这挤牙膏呢
-
@bayche 挤牙膏也要挤多点啊,就这么针眼大一点,沾点水就化没了
-
@yelong98 阿巴阿巴
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号