完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven
少费话,先上代码
引入 maven 依赖
<dependency><groupId>com.github.dadiyang</groupId><artifactId>jave</artifactId><version>1.0.4</version></dependency>
调用 AudioUtils.amrToMp3 方法
三行代码搞定格式转换
public void amrToMp3() {File source = new File("target/test-classes/material/testAudio.amr");File target = new File("testAudio.mp3");it.sauronsoftware.jave.AudioUtils.amrToMp3(source, target);
}
探索过程
最近接到基于微信公众号开发的需求,在处理微信消息的时候,发现语音类型的消息微信推送过来的是 amr 格式的文件,而在网页 HTML5的audio标签不支持amr格式,很是麻烦。
于是到处查资料,发现了 JAVE 这个项目,它封装了 ffmpeg 的命令,让开发者可以通过 Java 转换文件格式。
不幸的是,这个项目可谓年久失修,存在以下几个问题
JAVE 项目的问题
- 项目老旧没再维护。官网最近版本是2009年发布的,其依赖的ffmpeg早已过时,很多情况下用不了。
- 转码一直报异常 EncoderException: Stream mapping
- 没有发布maven仓库,而且 JAVE 本身也不是一个maven项目
- 不支持Mac OS
解决
本项目为解决上述问题,根据网上的资料进行整理和修改,我创建了一个 JAVE开源项目 并且发布到 maven中央仓库,让整个解决方案变得更加简单。
项目特点
- 这是一个maven项目,而且已发布到中央仓库。
- 项目依赖的 ffmpeg 可执行文件经过验证可以使用(单元测试中提供了一个简单的检验方法)
- 解决了amr转mp3出现的 EncoderException: Stream mapping
- 支持 Linux/Windows/Mac 平台
JAVE原理
- 初始化时判断当前运行环境,将bin目录中对应的 ffmpeg 可执行文件拷贝到临时目录中
- 根据文件类型及配置通过 Runtime.getRuntime().exec(cmd) 执行 ffmpeg 对应的转码命令
自定义 ffmpeg 路径
如果程序无法通过拷贝资源文件的方式获取到 ffmpeg 的可执行文件或者内置的 ffmpeg 不支持你所使用的操作系统
你可以通过环境变量或者在 java 中设置 System.setProperty("ffmpeg.home", "ffmpeg可执行文件所在的目录")
的方式指定你的系统中安装的可用的 ffmpeg 文件的目录,如 System.setProperty("ffmpeg.home", "/usr/local/bin/")
项目GitHub地址
https://github.com/dadiyang/jave
参考
JAVE官网:http://www.sauronsoftware.it/projects/jave/index.php
《解決linux AMR轉MP3出現轉碼成功卻無法播放的問題》:https://hk.saowen.com/a/2ec2a73ec73091967c3ebdb5697832006cb255a7183377b6e8fae1c13f5e54bc
xiaoymin: https://github.com/xiaoymin/jave
完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven相关推荐
- Java微信语音amr格式转mp3格式
完美解决个人微信音频amr文件与mp3格式互转 1.安装gcc ffmpeg wget http://downloads.sourceforge.net/lame/lame-3.100.tar.gz ...
- 微信语音怎么合并成MP3格式
手机微信收发的语音消息以单独的文件形式存储在手机存储中,将这些音频文件导出到电脑后,即可通过第三方软件对其进行读取,并将所有微信语音消息合并成MP3格式音频文件. 1,先把要合并微信语音的苹果手机或安 ...
- java 微信语音下载电脑版,完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven...
首先感谢 : 直接上代码 1.首先引入maven依赖(使用maven这点我很喜欢) com.github.dadiyang jave 1.0.4 2.调用 AudioUtils.amrToMp3 方法 ...
- Java 微信语音 amr 格式转 mp3 格式
少费话,先上代码 引入 maven 依赖 <dependency><groupId>com.github.dadiyang</groupId><artifac ...
- 新款文章,绝无仅有!微信语音aud文件转换为mp3格式
前提 需求: 目前aud后缀的音频文件无法在任何软件上进行播放,需要进行转换,而当你有需要的时候,例如语音作为追债证据的时候,需要将语音文件分享给其它人听,这时候就需要在手机中找到对应的aud语音文件 ...
- php 下载微信语音文件怎么打开软件,微信群讲课或语音讨论交流 如何把大家讲的微信语音合成一个音频文件mp3格式...
想要将一些微信群讲课或语音讨论交流的微信语音导出来,然后把大家讲的微信语音合成一个音频文件mp3格式,这个过程怎么来实现的呢,嗯~ o(* ̄▽ ̄*)o .最终的效果是可是实现的,在这之前需要先分几个步 ...
- linux java amr转mp3_本工具用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...
音频转码工具 本工具主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放. 支持 Linux/Windows/Mac 平台 因为是基于 JAVE 项目 ...
- java amr音频转码_jave: 音频转码工具,主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...
音频转码工具 本工具主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放. 支持 Linux/Windows/Mac 平台 因为是基于 JAVE 项目 ...
- PHP如何下载微信语音到服务器,并将amr格式转换为MP3格式,最后上传到阿里云oss文件中
第一步:下载微信语音到服务器中 废话不多说,直接上代码 1.总的流程方法(里面的方法在下面) 2.下载微信语音的方法 3.将微信语音的amr格式转换为MP3格式(需要使用FFmpeg,安装使用过程请看 ...
最新文章
- 2022秋招算法岗卷成人间地狱!高薪惹眼,招录比100:1
- 这都2021年了,还不会Feign性能调优?Feign性能调优之gzip压缩实现-自娱自乐篇
- 团队作业(五):冲刺总结
- 5月份 Github 上最热的十个 Python 项目,从Debug工具到AI水军、量化交易系统。
- 特岗招聘计算机专业要求,咨询特岗教师招聘专业设置问题
- SecureCRT登录本地cygwin。
- 北京54坐标系和1980西安坐标系转换
- Python调用腾讯API实现人脸检测
- 关于pandownload源码的一般性研究与挖掘
- Iterator是什么,有什么作用?
- 用AI「复活」逝者:「深度怀旧」项目火遍推特,我们也用民国老照片试了下 #蚂蚁呀嘿
- vmware虚拟服务器弊端,VM虚拟机问题总结
- 2012/5/9武汉佰钧成
- SQL Server Intergration Services(SSIS)
- framebuffer之overview/双缓冲/alpha与colorkey/窗口平移与virtual screen平移
- 单词统计(哎呦我去!)
- .IMDB,THUCNews数据集下载和探索
- 147 completion机制基本概念
- GIF录屏/剪辑小工具screentogift、 免费截图贴图工具Snipaste
- 最土团购如何新建城市