安卓音频转码,wav格式转为mp3 您所在的位置:网站首页 wav格式怎么转换手机 安卓音频转码,wav格式转为mp3

安卓音频转码,wav格式转为mp3

2024-06-01 06:59| 来源: 网络整理| 查看: 265

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数少了点,勉强可以用吧 之后遇到问题继续优化总结。。。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有