音频转码工具

本工具主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放。

支持 Linux/Windows/Mac 平台

因为是基于 JAVE 项目的修改,而 JAVE 是依赖 ffmpeg 所以可以适用于所有 ffmpeg 所支持的文件格式的转换。具体可以查看 JAVE 官方文档

使用示例

引入 maven 依赖

com.github.dadiyang

jave

1.0.6

调用 AudioUtils.amrToMp3 方法

public void amrToMp3() {

File source = new File("target/test-classes/material/testAudio.amr");

File target = new File("testAudio.mp3");

AudioUtils.amrToMp3(source, target);

}

原理

初始化时判断当前运行环境,将bin目录中对应的 ffmpeg 可执行文件拷贝到临时目录中

根据文件类型及配置通过 Runtime.getRuntime().exec(cmd) 执行 ffmpeg 对应的转码命令

JAVE 项目的问题

ffmpeg 是依赖运行环境的,JAVE 项目封装了ffmpeg,它通过上述的原理使 java 可以调用ffmpeg而且支持跨平台。

项目老旧没再维护。官网最近版本是2009年发布的,其依赖的ffmpeg早已过时,很多情况下用不了。

转码一直报异常 EncoderException: Stream mapping

没有发布maven仓库,而且 JAVE 本身也不是一个maven项目

不支持mac

本项目特点

本项目为解决上述问题而生。

这是一个maven项目,而且已发布到中央仓库。

项目依赖的 ffmpeg 可执行文件经过验证可以使用(单元测试中提供了一个简单的检验方法)

解决了amr转mp3出现的 EncoderException: Stream mapping

支持 Linux/Windows/Mac 平台

扩展

如果程序无法通过拷贝资源文件的方式获取到 ffmpeg 的可执行文件或者内置的 ffmpeg 不支持你所使用的操作系统

你可以通过环境变量或者在 java 中设置 System.setProperty("ffmpeg.home", "ffmpeg可执行文件所在的目录") 的方式指定你的系统中安装的可用的 ffmpeg 文件的目录

如 System.setProperty("ffmpeg.home", "/usr/local/bin/")

参考

本工具使用 JAVE 源码改造而来

LICENSE

JAVE 项目是基于 GPL 协议的开源项目,本项目是在 JAVE 的基础上进行修改和增强,因此也采用 GPL 协议开源。

JAVE is Free Software and it is licensed under GPL.

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

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

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

  2. java代码实现amr格式转换为mp3格式

    在 Java 中可以使用 javax.sound.sampled 包中的类来录制和播放声音.不过,这个包并不支持将音频文件从一种格式转换为另一种格式.要想实现音频格式转换,需要使用第三方的音频处理库. ...

  3. 怎么把amr格式转换为mp3格式?

    怎么把amr格式转换为mp3格式?amr是什么?今天简单直接点讲amr也是音频文件的一种不常见格式.因为兼容性的原因,所以你如果下载到了以amr为后缀的音频,打开往往是播放不了的,这个时候也很简单,我 ...

  4. 如何将amr格式转换为mp3格式?

    如何将amr格式转换为mp3格式?大家可能对amr文件了解不多,其实amr是手机设备上音频通用格式,它的最大特点就是文件体积小,一分钟的amr音频文件大小只有1kb,这给使用带来了非常大的便利,不过最 ...

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

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

  6. ubuntu下把微信的amr音频格式转换为 mp3格式

    做一个微信微拍的系统,从微信的音频中读取回来的格式是amr,但是在苹果系统中不能正常的播放,需要转换为mp3格式 在终端运行如下命令 1.sudo apt-get install lame 2.sud ...

  7. amr格式转换为MP3格式

    最近做html5移动开发,在android端录音生成的amr格式在ios端无法播放,ios无法不支持amr.所以需在服务端对amr格式文件进行转换生成MP3格式文件进行播放. 通过网上查的资料,使用j ...

  8. java任意音频格式转换MP3格式

    写在前面 Java音频视频编码器,本文实例将任何音频格式转换为MP3格式 您还可以调整音频频大小,更改其大小和比例等 本文实例实用于任何window,macos,linux操作系统 使用此项目只需要, ...

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

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

最新文章

  1. 复制构造函数(拷贝构造函数)
  2. 每日一皮:CPU的新用途,要不要试试?
  3. directive多指令之间的异步调用
  4. 解决开机需按F1键问题方案
  5. 校运动会c语言程序编写,校运动会管理系统报告C语言(含完整代码)
  6. mysql5.7.14操作命令_Mysql5.7.14安装配置方法操作图文教程(密码问题解决办法)
  7. $.ajax使用总结(一):Form提交与Payload提交
  8. 牛客 - Subset of Five(背包)
  9. Angular html 页面里的井号 #
  10. php全局cors,PHP开启CORS - slagga的个人页面 - OSCHINA - 中文开源技术交流社区
  11. 信息学奥赛一本通C++语言——1038:苹果和虫子
  12. 「小程序JAVA实战」小程序页面的上拉下拉刷新(50)
  13. JS AES加密解密实现
  14. 时间敏感网络TSN及其标准
  15. 在阿里 AI Lab 做 NLP 高级算法专家是一种什么样的体验?
  16. 安装配置Apache和php
  17. 关于DB2数据库和SQL
  18. 探索“哑巴英语”的缘由
  19. 安卓微信7.0版本的微信支付只支持拉起默认的微信,不支持应用双开的微信
  20. (转)speex详细介绍--概念、移植、编译、命令行等

热门文章

  1. 剑指Offer - 面试题57 - II. 和为s的连续正数序列(滑动窗口)
  2. LeetCode 653. 两数之和 IV - 输入 BST(二叉搜索树迭代器双指针)
  3. android c 11 编译,Android NDK r9b和编译C 11
  4. java 资源锁定_如何在Java中创建时正确锁定资源
  5. coturn的负载均衡特性_高性能负载均衡
  6. python分段函数图像画法_我想用Python matplotlib 画一个这样类似的图像,需要用到分段函数。大佬帮帮这个小弟?...
  7. python绘画_python学画画(上)
  8. ACL'21 | 弱标签的垃圾数据,也能变废为宝!
  9. 这个NLP工具,玩得根本停不下来
  10. Redis系列教程(五):Redis哨兵、复制、集群的设计原理,以及区别