少费话,先上代码
引入 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 格式相关推荐

  1. Java微信语音amr格式转mp3格式

    完美解决个人微信音频amr文件与mp3格式互转 1.安装gcc ffmpeg wget http://downloads.sourceforge.net/lame/lame-3.100.tar.gz ...

  2. 微信语音怎么合并成MP3格式

    手机微信收发的语音消息以单独的文件形式存储在手机存储中,将这些音频文件导出到电脑后,即可通过第三方软件对其进行读取,并将所有微信语音消息合并成MP3格式音频文件. 1,先把要合并微信语音的苹果手机或安 ...

  3. 新款文章,绝无仅有!微信语音aud文件转换为mp3格式

    前提 需求: 目前aud后缀的音频文件无法在任何软件上进行播放,需要进行转换,而当你有需要的时候,例如语音作为追债证据的时候,需要将语音文件分享给其它人听,这时候就需要在手机中找到对应的aud语音文件 ...

  4. 完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven

    少费话,先上代码 引入 maven 依赖 <dependency><groupId>com.github.dadiyang</groupId><artifac ...

  5. java 微信语音下载电脑版,完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven...

    首先感谢 : 直接上代码 1.首先引入maven依赖(使用maven这点我很喜欢) com.github.dadiyang jave 1.0.4 2.调用 AudioUtils.amrToMp3 方法 ...

  6. php 下载微信语音文件怎么打开软件,微信群讲课或语音讨论交流 如何把大家讲的微信语音合成一个音频文件mp3格式...

    想要将一些微信群讲课或语音讨论交流的微信语音导出来,然后把大家讲的微信语音合成一个音频文件mp3格式,这个过程怎么来实现的呢,嗯~ o(* ̄▽ ̄*)o .最终的效果是可是实现的,在这之前需要先分几个步 ...

  7. linux java amr转mp3_本工具用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...

    音频转码工具 本工具主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放. 支持 Linux/Windows/Mac 平台 因为是基于 JAVE 项目 ...

  8. java amr音频转码_jave: 音频转码工具,主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...

    音频转码工具 本工具主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放. 支持 Linux/Windows/Mac 平台 因为是基于 JAVE 项目 ...

  9. PHP如何下载微信语音到服务器,并将amr格式转换为MP3格式,最后上传到阿里云oss文件中

    第一步:下载微信语音到服务器中 废话不多说,直接上代码 1.总的流程方法(里面的方法在下面) 2.下载微信语音的方法 3.将微信语音的amr格式转换为MP3格式(需要使用FFmpeg,安装使用过程请看 ...

最新文章

  1. SAP smartforms之Zebra print control language
  2. 关于医网联影像工作站3.0(ProDicom Workstation 3.0)的版权及注册问题说明
  3. 用C语言写的迅雷看看XV文件提取器及C语言源代码
  4. 2018-1-27:内存的划分
  5. LeetCode 1381. 设计一个支持增量操作的栈(deque/数组)
  6. Gallery 3D+倒影 滑动切换图片示例(转)
  7. KR《C语言》书中的一个Bug
  8. 全国计算机OFFICE二级考试大纲,全国计算机等级考试二级MSOffice高级应用考试大纲...
  9. Java观察者模式讲解及代码实现
  10. 网络防火墙开发二三事
  11. 深度学习:GCN图分类案例
  12. Visio画出的图,裁剪成固定大小再添加马赛克的方法
  13. html div p区别,p标签和div标签的区别与用法
  14. 忍得住清贫 耐得住寂寞 禁得起诱惑
  15. oracle中sql关键字,Oracle常用的sql语句
  16. UWP开发入门(十三)——用Diagnostic Tool检查内存泄漏
  17. python 电子签名去背景
  18. 边缘云市场份额,百度智能云领先!
  19. 硬盘知识大全(含主板、BIOS)
  20. 什么是编程语言的强类型,弱类型

热门文章

  1. 选股心得:基本面+赢富数据
  2. 《浪潮之巅》读后感(转)
  3. CouchDB安装以及使用
  4. png转iconfont_关于阿里图标库Iconfont生成图标的三种使用方式-新闻详情
  5. present 和Dismiss
  6. 让IE浏览器打开时默认最大化
  7. java线程间通信的方式
  8. 【51单片机】【8*8 LED矩阵如何开发】【点亮一个led却出现一列全部点亮问题解决】
  9. Winform窗口弹出位置设置
  10. Hivemind简介