音频录制
文章平均质量分 57
motosheep
安卓,java,python
展开
-
安卓音频开发(一)AudioRecorder生成pcm
关于安卓录音的实现,原生安卓给我们提供了两个实现方法,一个是MediaRecorder,另外一个则是AudioRecorder,两个区别可以理解为MediaRecorder更加便捷,实现起来更加方便,api更加高级,但生成的数据是已经处理好的。而AudioRecorder,实现起来比MediaRecorder繁琐一点,生成的原始数据为pcm数据,为无损数据。下面介绍一下AudioRecorder的用法:public AudioRecord(int audioSource, int sampleRate原创 2021-07-09 17:35:49 · 545 阅读 · 0 评论 -
安卓音频开发(二)lame编译
##什么是lame?lame和音频处理有什么关系?lame官网:https://lame.sourceforge.iodescription:LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.–可以简单理解为lame是音频的一个编码器。##为什么用到lame?博主主要是用lamb对音频体积进行压缩,实际中,lame可以把一个9百多kb的文件,压缩到15k左右,能进一步优化应用的原创 2021-07-09 17:37:36 · 561 阅读 · 0 评论 -
安卓音频开发(三)pcm转wav
pcm是原始的无损音频数据,但是在安卓手机上,播放起来并不是很方便,这里就演示如何把pcm转为wav。只需一个工具类即可实现,原理其实很简单,就在pcm文件的文件头,加上wav的文件头属性即可。为什么这么简单还要写,因为网上所找到的答案实在是乱七八糟,什么都有,所以特此记录,直接上代码:package com.north.light.libaudio.utils;import android.media.AudioFormat;import android.media.AudioRecord;原创 2021-07-09 17:38:06 · 670 阅读 · 0 评论 -
安卓音频开发(四)使用lame把wav转mp3
在上文中,展示了安卓项目如何构建lame,接下来,我们要使用lame把wav音频转为mp3。上文回顾:lame编译项目结构如下图:LameUtils主要是用来编写与native-lib交互的方法的,也就是native方法的声明,对于转换这个流程,我们需要声明两个方法,一个转换方法,一个转换进度回调方法。如下图: /** * wav转换成mp3的本地方法 * * @param wav * @param mp3 */ private nat原创 2021-07-09 17:38:40 · 709 阅读 · 1 评论