广告
返回顶部
首页 > 资讯 > 移动开发 >Android 录音转mp3
  • 526
分享到

Android 录音转mp3

mpmp3Android 2022-06-06 13:06:08 526人浏览 独家记忆
摘要

ZlwAudioRecorder 功能 使用AudioRecord进行录音 实现pcm、wav、mp3音频的录制 实时获取录音的音量、及录音byte数据 获取wav/mp

ZlwAudioRecorder 功能 使用AudioRecord进行录音 实现pcm、wav、mp3音频的录制 实时获取录音的音量、及录音byte数据 获取wav/mp3录音文件的时长 可配置录音的采样率、位宽 (v1.04更新) 录音可视化 (v1.05更新) Gradle

dependencies {
        implementation 'com.GitHub.zhaolewei:ZlwAudioRecorder:v1.07'
}
allprojects {
    repositories {
        ...
        Maven { url 'https://www.jitpack.io' }
    }
}
如何使用 初始化

init



RecordManager.getInstance().init(MyApp.getInstance(), false);

在清单文件中注册Services


确保有录音权限

录音需要使用到AudioRecord类,这里说一下他的构造方法中的参数的意义 
public AudioRecord(int audiOSource, int sampleRateInHz, int channelConfig, int audioFORMat, int bufferSizeInBytes); 
构造器参数很多,我们一点一点来看: 
- audioSource : 声源,一般使用MediaRecorder.AudioSource.MIC表示来自于麦克风 
- sampleRateInHz :官方明确说到只有44100Hz是所有设备都支持的。其他22050、16000和11025只能在某些设备上使用。 
- channelConfig : 有立体声(CHANNEL_IN_STEREO)和单声道(CHANNEL_IN_MONO)两种。但只有单声道(CHANNEL_IN_MONO)是所有设备都支持的。 
- audioFormat : 有ENcoding_PCM_16BIT和ENCODING_PCM_8BIT两种音频编码格式。同样的,官方声明只有ENCODING_PCM_16BIT是所有设备都支持的。 
- bufferSizeInBytes : 录音期间声音数据的写入缓冲区大小(单位是字节)。 
这里参数audioSource 、sampleRateInHz 、channelConfig 、audioFormat 都是可以根据需要进行选择,只有bufferSizeInBytes 这个参数,需要通过计算来获得。在介绍计算方法之前,先看一下音频数据的读取与转换。

配置录音参数

修改录音格式(默认:WAV)mp3


 RecordManager.getInstance().changeFormat(RecordConfig.RecordFormat.MP3);

修改录音配置


     RecordManager.getInstance().changeRecordConfig(recordManager.getRecordConfig().setSampleRate(16000));
     RecordManager.getInstance().changeRecordConfig(recordManager.getRecordConfig().setEncodinGConfig(AudioFormat.ENCODING_PCM_8BIT));

修改录音文件存放位置(默认sdcard/Record)


   RecordManager.getInstance().changeRecordDir(recordDir);

录音状态监听


RecordManager.getInstance().setRecordStateListener(new RecordStateListener() {
   @Override
   public void onStateChange(RecordHelper.RecordState state) {
       }
   }
   @Override
   public void onError(String error) {
   }
});

录音结果监听


RecordManager.getInstance().setRecordResultListener(new RecordResultListener() {
   @Override
   public void onResult(File result) {
   }
});

声音大小监听


 RecordManager.getInstance().setRecordSoundSizeListener(new RecordSoundSizeListener() {
    @Override
    public void onSoundSize(int soundSize) {
    }
});

音频数据监听


  recordManager.setRecordDataListener(new RecordDataListener() {
     @Override
     public void onData(byte[] data) {
     }
 });

音频可视化数据监听


   recordManager.setRecordFftDataListener(new RecordFftDataListener() {
      @Override
      public void onFftData(byte[] data) {
          audioView.setWaveData(data);
      }
    });
录音控制
开始录音/暂停录音/恢复录音/停止

RecordManager.getInstance().start()/pasue()/resume()/stop();

最讨厌的源码为你们奉上:Https://github.com/zhaolewei/ZlwAudioRecorder  

 
作者:JokerAndroid


--结束END--

本文标题: Android 录音转mp3

本文链接: https://www.lsjlt.com/news/28965.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作