当前位置: 移动技术网 > IT编程>移动开发>Android > Android录制语音文件wav转mp3的方法示例

Android录制语音文件wav转mp3的方法示例

2019年08月02日  | 移动技术网IT编程  | 我要评论

月工作总结模板,mc石观音,广东信宜新闻

1.android 使用audiorecord而实现录音暂停以及wav文件转mp3文件。因为android系统开源的原因,导致许多生产厂商乱改系统源码,此处小米最为恶心,使用android原生的audiorecord录制只能保存wav和pcm格式的语音文件,但是小米手机录制的wav语音文件系统本身不支持,所以使用mediaplayer不能播放wav格式的文件,其它手机可以。此时有一万匹草泥马从旁边疾驰而过。。。

2.针对这个问题解决方案目前有两种:

方案1: 将录制完的wav文件转化成mp3格式的,缺点:转码过程不能需要花费一部分时间,不能实时录制保存mp3格式的文件

此处可以借助github上的第三方库来实现wav转mp3

github地址: https://github.com/adrielcafe/androidaudioconverter

2.1初始化:

public class app extends application {
  @override
  public void oncreate() {
    super.oncreate();
    androidaudioconverter.load(this, new iloadcallback() {
      @override
      public void onsuccess() {
        // great!
      }
      @override
      public void onfailure(exception error) {
        // ffmpeg is not supported by device
      }
    });
  }
}

2.2调用出调用,可以在录音完成的时候调用进行转码 转码过程需要一定的时候差不多1s能转化1m,10m的wav文件差不多花费10s时间转成mp3,转成mp3后文件缩小了10几倍

file flacfile = new file(environment.getexternalstoragedirectory(), "my_audio.flac");
iconvertcallback callback = new iconvertcallback() {
  @override
  public void onsuccess(file convertedfile) {
    // so fast? love it!
  }
  @override
  public void onfailure(exception error) {
    // oops! something went wrong
  }
};
androidaudioconverter.with(this)
  // your current audio file
  .setfile(flacfile) 
  
  // your desired audio format 
  .setformat(audioformat.mp3)
  
  // an callback to know when conversion is finished
  .setcallback(callback)
  
  // start conversion
  .convert();

2.3 gradle中的配置如下:

repositories {
 maven {
  url "https://jitpack.io"
 }
}

dependencies {
 compile 'com.github.adrielcafe:androidaudioconverter:0.0.8'
}

方案2:

格式的recorder 通过 audiorecord 或 mediarecorder 录制的时候 直接录制成mp3 或 aac 音频文件。

因 android 默认不支持mp3编码,网上很多解决方案 比较成熟的方案就是使用lame库,通过 lame 编码生成 mp3 音频文件。

此处提供一个github的库: https://github.com/lijunzz/recorder-android 这个比较新,而且还适配了as3.1,就是star数少了点,勉强可以用吧

之后遇到问题继续优化总结。。。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网