使用arecord、aplay 实现录音和播放

1、arecord 录音

1)查看录音设备

输入 adb shell

输入arecord –l

C:\Users\Administrator>adb shell
/ # arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: xxsndcard [xx-snd-card], device 1: TDM_Capture (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: xxsndcard [xx-snd-card], device 2: DMIC_Capture (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: xxsndcard [xx-snd-card], device 3: AWB_Record (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0 

通过如上命令可以得到可用于录音的设备,比如card x device x

2)录音

根据上面的信息,如果我们要用TDM_Capture 录音,可以输入如下命令

arecord -Dhw:0,1 -d 10 -f cd -r 44100 -c 2 -t wav test.wav

参数解析
-D 指定了录音设备,0,1 是card 0 device 1的意思,也就是TDM_Capture
-d 指定录音的时长,单位时秒
-f 指定录音格式,通过上面的信息知道只支持 cd cdr dat 
-r 指定了采样率,单位时Hz
-c 指定channel 个数
-t 指定生成的文件格式


2、aplay 播放

1)查看播放音频设备
输入 adb shell

输入 aplay –l

C:\Users\Administrator>adb shell
/ # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: xxsndcard [xx-snd-card], device 0: I2S8CH Playback (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: xxsndcard [xx-snd-card], device 6: DL1_Playback (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
通过如上命令可以得到可用于播放声音的设备,比如card x device x

2)播放音频

输入aplay test.wav

/data # aplay test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
/data #

直接输入aplay test.wav 就可以播放wav音频文件了,不需要指定太多的参数,因为wav文件的头部会保存一些声音格式信息,比如pcm格式 ,采样率,channel个数等,所以不指定这些参数也能播放。

如果是直接播放pcm数据,则需要指定pcm格式 、采样率、channel个数等。


  • 10
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值