Android使用AudioRecord录制pcm裸数据

本文介绍了如何使用Android的AudioRecord API录制PCM裸数据。通过设置为单声道、44100Hz采样率和16bit数据格式以确保性能和兼容性。获取最小缓冲区大小以初始化AudioRecord,并在新线程中持续读取和保存PCM数据。在Android 6.0及以上系统中,需要手动请求权限。最后,通过ffplay播放pcm文件。
摘要由CSDN通过智能技术生成

第六章讲音视频的采集,首先是音频采集。Android录音可以采用MediaRecorder,这个API是比较上层的,直接可以输出通常的音频格式文件,但是相对的就失去了一些灵活性。AudioRecord可以直接录制PCM裸数据,当然也可以用OpenSL ES来进行录制,然而API过于繁琐,对于音频来说,audioRecord其实已经满足大部分需求了。话不多说,直接分析代码,书上的源码我用kotlin重新写了一遍,毕竟项目里没有用kotlin,写一写不要忘的太快也是可以的。

确定录制PCM的格式

按照书上的说法,考虑到性能使用单声道录制,采样率也是通常使用44100,这个采样率保证声音的完整性,数据格式我们每个数据使用的是16bit,这个可以兼容大部分安卓手机。

 companion object {
   
        var SAMPLE_RATE_IN_HZ = 44100
        private val CHANNEL_CONFIGURATION = AudioFormat.CHANNEL_IN_MONO
        private val AUDIO_FORMAT = AudioFo
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值