AudioCapturePlay

基于AudioRecord录制原始pcm音频,应用开源库lame实时转换pcm音频为MP3格局音频,采纳Service、MediaPlayer播放MP3,提供录制音频计时器显示,音频音量分贝值显示,音频频谱显示,录制、播放状态管制等

我的项目地址

  1. 独自音频录制播放(https://github.com/MannaYang/AudioCapturePlay)
  2. 音视频录制合成(https://github.com/MannaYang/AudioVideoCodec)

性能简介

目前蕴含根本的音频录制、播放操作,性能如下:

  1. 基于AudioRecord录制原始PCM格局音频数据
  2. 基于lame库实时转换PCM音频为MP3格局音频
  3. 基于原始lame我的项目中C文件编译生成对应so文件、提供调用lame编码封装类
  4. 基于FFT格式化PCM数据并实时显示音频频谱
  5. 提供录制音频计时器显示、音量分贝值显示、录制开始、暂停、持续等状态管制与文件写入
  6. 提供AudioPlayManager对象管制MediaPlayer播放、暂停、持续状态、Timer定时更新SeekBar进度条
  7. 提供ObjectAnimator形式实现唱针、唱片旋转、还原动画操作

其它音频格式:

  1. wav、m4a、aac可在录制PCM格局实时回调中增加相应头文件、转换操作

lame编解码

  1. lame_encode_buffer_interleaved 该办法为传入双声道音频buffer,如果AudioCapture中应用AudioFormat.CHANNEL_IN_STEREO
  2. lame_encode_buffer 该办法为传入单声道音频buffer,如果AudioCapture中应用AudioFormat.CHANNEL_IN_MONO

Chronometer、RoundedBitmapDrawable控件类

  1. Chronometer为原生计时器,提供计时、倒计时等性能,初始格局为00:00,通过setFormat格式化为00:00:00,暂停、持续计时需减掉已计时工夫戳
  2. RoundedBitmapDrawable可作为圆角Bitmap应用,通过setCornerRadius、setCircular可实现圆角设置、圆型

公共库

  1. 蕴含录音管制类、lame编解码cpp文件、编译so文件、Service播放管制类,应用形式参见app中AudioCaptureActivity.class

截图展现

录制开始、暂停、实现 :

音频文件 :

播放筹备 :

播放中 :

感激开源

  1. 音频频谱柱状图 https://github.com/zhaolewei/MusicVisualizer
  2. lame编解码库 https://sourceforge.net/projects/lame/files/lame