Java 微信语音 amr 格式转 mp3 格式
少费话,先上代码
引入 maven 依赖
<dependency><groupId>com.github.dadiyang</groupId><artifactId>jave</artifactId><version>1.0.0</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
原创作者:dadiyang
来源:CSDN
原文:https://blog.csdn.net/dadiyang/article/details/85003240
版权声明:本文为博主原创文章,转载请附上博文链接!
Java 微信语音 amr 格式转 mp3 格式相关推荐
- Java微信语音amr格式转mp3格式
完美解决个人微信音频amr文件与mp3格式互转 1.安装gcc ffmpeg wget http://downloads.sourceforge.net/lame/lame-3.100.tar.gz ...
- 微信语音怎么合并成MP3格式
手机微信收发的语音消息以单独的文件形式存储在手机存储中,将这些音频文件导出到电脑后,即可通过第三方软件对其进行读取,并将所有微信语音消息合并成MP3格式音频文件. 1,先把要合并微信语音的苹果手机或安 ...
- 新款文章,绝无仅有!微信语音aud文件转换为mp3格式
前提 需求: 目前aud后缀的音频文件无法在任何软件上进行播放,需要进行转换,而当你有需要的时候,例如语音作为追债证据的时候,需要将语音文件分享给其它人听,这时候就需要在手机中找到对应的aud语音文件 ...
- 完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven
少费话,先上代码 引入 maven 依赖 <dependency><groupId>com.github.dadiyang</groupId><artifac ...
- java 微信语音下载电脑版,完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven...
首先感谢 : 直接上代码 1.首先引入maven依赖(使用maven这点我很喜欢) com.github.dadiyang jave 1.0.4 2.调用 AudioUtils.amrToMp3 方法 ...
- 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,安装使用过程请看 ...
最新文章
- SAP smartforms之Zebra print control language
- 关于医网联影像工作站3.0(ProDicom Workstation 3.0)的版权及注册问题说明
- 用C语言写的迅雷看看XV文件提取器及C语言源代码
- 2018-1-27:内存的划分
- LeetCode 1381. 设计一个支持增量操作的栈(deque/数组)
- Gallery 3D+倒影 滑动切换图片示例(转)
- KR《C语言》书中的一个Bug
- 全国计算机OFFICE二级考试大纲,全国计算机等级考试二级MSOffice高级应用考试大纲...
- Java观察者模式讲解及代码实现
- 网络防火墙开发二三事
- 深度学习:GCN图分类案例
- Visio画出的图,裁剪成固定大小再添加马赛克的方法
- html div p区别,p标签和div标签的区别与用法
- 忍得住清贫 耐得住寂寞 禁得起诱惑
- oracle中sql关键字,Oracle常用的sql语句
- UWP开发入门(十三)——用Diagnostic Tool检查内存泄漏
- python 电子签名去背景
- 边缘云市场份额,百度智能云领先!
- 硬盘知识大全(含主板、BIOS)
- 什么是编程语言的强类型,弱类型