

Github GitHub - fanyuan/MyMp3Convert: mp3转码,把wav转换成mp3格式
source link: https://github.com/fanyuan/MyMp3Convert
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

MyMp3Convert
MyMp3Convert 一个mp3转换库,基于lame3来实现
模块简介:
主要实现了wav格式向mp3格式的转投;
只需要关注3个方法就好;
为了项目简单直观实用,节省代码空间,本模块遵循单一职责原则,只做格式转换,把wav格式音频转换成mp3格式
使用场景:
用于在客户端需要把编辑好的wav转换成mp3格式,这样可以在不过大损失音频效果的同时有效节省空间,通常情况下,10M大小的wav文件通过转换后可以生成1M大小的mp3文件;
比如:用户在客户端录制好pcm音频文件,并由该文件编辑得到了可播放的wav文件,又需要把wav文件上传服务器,或者存在本地,但是wav文件过大,需要占用过大网络,在增加耗电量的同时,也给了服务器带来了压力,这个时候可以把文件转换成mp3格式文件(至于pcm到wav格式的转换,wav文件的编辑、剪切、拼接、混音合成可以使用另一模块来实现 链接:https://github.com/fanyuan/AudioUtil.git)
只需要调用Mp3ConvertUtilHelper里的3个公开方法即可;
使用很简单,只要把本module下载后以Android studio导入工程项目,设为library估其他module依赖就好
对于和native c语言的交互已在Mp3ConvertUtil中封装好,采用了外观模式;
使用时只需要调用Mp3ConvertUtilHelper类的相3个关公开方法
=====================华丽丽的分割线========================
3个相关方法如下:
/**
* wav转换成mp3
* @param wavInPath 需要转换的wav源文件输入路径
* @param mp3OutPath 转换完成后的mp3目标文件输出路径
*/
public static void convertmp3(String wavInPath, String mp3OutPath)
/**
* wav转换成mp3
* @param wavInPath 需要转换的wav源文件输入路径
* @param mp3OutPath 转换完成后的mp3目标文件输出路径
* @param callback 转换相关的回调
*/
public static void convertmp3(String wavInPath, String mp3OutPath, Mp3ConvertUtil.ConvertListener callback)}
/**
* 获取转换进度
* @param outPath 在多个任务并行时以输出路径为token来查询相关转换文件的转换进度
* @return
*/
public static int getProgress(String outPath)
=====================华丽丽的分割线==========================
使用示例如下:
温馨提示:使用时请在子线程中使用,为了演示方便直观就不过多封装了
不带转换回调的使用示例:
new Thread(){ @Override public void run() {
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "temp/姑娘我爱你convert.wav";//"temp/test123.wav";
String pathTaret = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "temp/姑娘我爱你out123.mp3";
Mp3ConvertUtilHelper.convertmp3(path,pathTaret);
}
}.start();
不带回调的获取转换进度的方式:
String pathTaret = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "temp/姑娘我爱你out123.mp3";
int progress = Mp3ConvertUtilHelper.getProgress(pathTaret);
带转换回调的使用示例:
new Thread(){ @Override public void run() {
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "temp/out测试.wav";//"temp/test123.wav";
String pathTaret = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "temp/out测试789.mp3";
Mp3ConvertUtilHelper.convertmp3(path, pathTaret, new Mp3ConvertUtil.ConvertListener() {
@Override
public void notifyConvertProgress(int progress) {
Log.d("ddebug","convertByHelper02 --- notifyConvertProgress = " + progress);
}
@Override
public void convertFinish() {
Log.d("ddebug","convertByHelper02 --- convertFinish");
}
@Override
public void convertError(String errorMsg) {
Log.d("ddebug","convertByHelper02 --- convertError --- " + errorMsg);
}
});
}
}.start();
简单实用^_^
Recommend
-
60
404 — Page not found Page not fou...
-
13
在 Linux 中把多个 Markdown 文件转换成 HTML 或其他格式 | Linux 中国我用 pandoc 来转换文件,它可以一次性地转换所有 Markdown 文件。来源:
-
8
AudioUtil AudioUtil module 模块简介: 主要实现了音频的录制,获取媒体文件时长(可以是本地文件也可以是远端网络文件),mp3格式转换pcm,pcm转换为wav(至于wav转换成mp3请参考另一模块(
-
6
将微信语音导出转换成mp3 爸爸妈妈的聊天语音提取出来专门做成一个mp3文件,天天听,每天睡觉之前听一遍。 顶住这些压力,作为男人这点压力压不垮你! 这是告诉你珍惜时间努力奋斗! 微信的语音文件都是am...
-
3
在线免费用!将 heic 格式转换成JPG/PNG的在线神器「HEICFile」 收藏 8小时前 编辑:
-
7
ofd格式文件转换成pdf格式的方法 原创 迷失蒲公英 2022-08-11 22:19:29
-
11
迷途小书童的Note python 3.8
-
5
Figma源文件如何转换成多种格式? 更新时间:2023-06-25 19:28:08 Figma 源文件如何转换成多种格式?即时设计可以一键帮你搞定, PNG、JPG、WebP、SVG、PDF 等格式或者转换为
-
7
很多朋友都不会将psd文件转化成cdr文件,因此对于这个文件基本上都是束手无策也不知道该怎么去进行操作,其实可以直接导入,然后右击重新保存改格式就好了。 psd文件怎么转换成cdr格式: 1、首先打开cdr软件进入主界面。 ...
-
9
【转载】Keep运动记录可以转换成fit和tcx格式导入高驰佳明啦如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK