android pcm频谱_Android实时将PCM转码MP3并播放音频

AudioCapturePlay

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

项目地址

功能简介

目前包含基本的音频录制、播放操作,功能如下:

基于AudioRecord录制原始PCM格式音频数据

基于lame库实时转换PCM音频为MP3格式音频

基于原始lame项目中C文件编译生成对应so文件、提供调用lame编码封装类

基于FFT格式化PCM数据并实时显示音频频谱

提供录制音频计时器显示、音量分贝值显示、录制开始、暂停、继续等状态控制与文件写入

提供AudioPlayManager对象控制MediaPlayer播放、暂停、继续状态、Timer定时更新SeekBar进度条

提供ObjectAnimator方式实现唱针、唱片旋转、复原动画操作

其它音频格式:

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

lame编解码

lame_encode_buffer_interleaved 该方法为传入双声道音频buffer,如果AudioCapture中使用AudioFormat.CHANNEL_IN_STEREO

lame_encode_buffer 该方法为传入单声道音频buffer,如果AudioCapture中使用AudioFormat.CHANNEL_IN_MONO

Chronometer、RoundedBitmapDrawable控件类

Chronometer为原生计时器,提供计时、倒计时等功能,初始格式为00:00,通过setFormat格式化为00:00:00,暂停、继续计时需减掉已计时时间戳

RoundedBitmapDrawable可作为圆角Bitmap使用,通过setCornerRadius、setCircular可实现圆角设置、圆型

公共库

包含录音控制类、lame编解码cpp文件、编译so文件、Service播放控制类,使用方式参见app中AudioCaptureActivity.class

截图展示

录制开始、暂停、完成 :

音频文件 :

播放准备 :

播放中 :

感谢开源

我的个人新球

欢迎加入星球一起讨论项目、研究新技术,共同成长!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值