场景

近期在做微信开发时,需要获取用户发给公众服务号的语音留言。而从微信服务端下载来的语音格式却是amr的格式,同样的你手机录音、Android语音等也都是生成amr格式文件。但当你想在web页面去播放此文件时,就困难了。因为无论是当前HTML5的标签,还是众多的播放插件都不支持amr格式文件的播放。所以,你不得不先把它转码为常见的MP3等类型文件。

maven

ws.schild

jave-core

2.4.4

从我的Mac book 开发环境开始玩。

public class AmrToMp3 {

public static void main(String[] args) throws Exception {

changeTemp();

}

public static void changeTemp() throws InputFormatException {

File source = new File("/Users/daji/Downloads/1.amr"); //源文件

File target = new File("/Users/daji/Downloads/1.mp3"); //目标文件

AudioAttributes audio = new AudioAttributes();

audio.setCodec("libmp3lame");

EncodingAttributes attrs = new EncodingAttributes();

attrs.setFormat("mp3");

attrs.setAudioAttributes(audio);

Encoder encoder = new Encoder();

try {

MultimediaObject multimediaObject = new MultimediaObject(source);

encoder.encode(multimediaObject,target, attrs);

} catch (IllegalArgumentException | EncoderException e) {

e.printStackTrace();

}

}

}

跑一下. GG

十二月 05, 2018 6:42:11 下午 ws.schild.jave.DefaultFFMPEGLocator copyFile

严重: Could not find ffmpeg executable for native/ffmpeg-x86_64-osx is the correct platform jar included?

Exception in thread "main" java.lang.NullPointerException

at java.util.Objects.requireNonNull(Objects.java:203)

at java.nio.file.Files.copy(Files.java:2984)

at ws.schild.jave.DefaultFFMPEGLocator.copy(DefaultFFMPEGLocator.java:144)

at ws.schild.jave.DefaultFFMPEGLocator.copyFile(DefaultFFMPEGLocator.java:123)

at ws.schild.jave.DefaultFFMPEGLocator.(DefaultFFMPEGLocator.java:84)

at ws.schild.jave.Encoder.(Encoder.java:80)

at cn.hitstone.media.util.AmrToMp3.changeTemp(AmrToMp3.java:20)

at cn.hitstone.media.util.AmrToMp3.main(AmrToMp3.java:10)

Process finished with exit code 1

意思就是要安装一个ffmpeg-x86_64-osx

ws.schild

jave-native-osx64

2.4.4

搞定 so easy

Windows 版导这个

ws.schild

jave-native-win64

2.4.4

Linux 版导这个

ws.schild

jave-native-linux64

2.4.4

测试结果

image.png

参考

amr 转mp3 java_JAVA 音频转换AMR 转MP3,OS,Linux cent os 7相关推荐

  1. java amr 转 mp3_JAVA 音频转换AMR 转MP3,OS,Linux cent os 7

    场景 近期在做微信开发时,需要获取用户发给公众服务号的语音留言.而从微信服务端下载来的语音格式却是amr的格式,同样的你手机录音.Android语音等也都是生成amr格式文件.但当你想在web页面去播 ...

  2. dicom格式怎么转换_QQ音乐下载的歌曲怎么转换MP3?音频转换格式详细教程

    QQ音乐下载的歌曲怎么转换MP3?很多小伙伴们或多或少使用过QQ音乐,对比其他音乐平台,它不仅可以播放歌曲,还能随时随地下载喜欢的歌.在QQ音乐中,歌曲的格式有APE.FLAC等.那在QQ音乐上下载的 ...

  3. 在服务器端,转换amr格式音频文件为MP3格式

    由于当前pc端浏览器及移动端浏览器都不支持直接播放amr格式文件,因此考虑在服务器端,将amr文件转换为MP3文件,使浏览器可直接播放. 在服务器使用ffmpeg工具,供php调用,用来转换amr文件 ...

  4. 【Java】java转换可播放的QQ/微信高质量语音格式,mp3/wav转silk格式(高质量音频),mp3转换amr格式(低质量音频),mp3/wav转pcm(非语音格式)

    1.简要 参考各个博主,发现java里mp3转silk的案例真的少,几乎没有,有的都是基于 linux系统的,所以自己研究了下就有了以下代码 tips:mp3转换silk格式,需要先转换成pcm再转换 ...

  5. c#音频运行格式转换( .amr => .mp3 )

    #region 音频运行格式转换( .amr => .mp3 )/// <summary>/// 音频运行格式转换( .amr => .mp3 )/// </summar ...

  6. jave.jar amr格式音频转为mp3格式 部署linux会有一个问题 转换出来的MP3文件是0k

    jave就是封装了一层对外部ffmpeg的调用. 而windows上能转换是因为:ffmpeg.exe 这个程序没问题. 而Linux上转换失败也是因为 ffmpeg 这个可能版本太老或依赖库缺失. ...

  7. 命令行下转换amr为mp3

    2019独角兽企业重金招聘Python工程师标准>>> 网上教程很多,以下主要讲安装配置过程,加一点基本用法. 测试机:UBUNTU 12.04/14.04 64位. FFMpeg ...

  8. iOS 音频录制AMR和WAV互转(支持64位)

    公司项目中涉及到语音录制的功能,在录音格式方面遇到一些小问题现在拿出来与大家分享一下. 众所周知,iOS 音频录制是不支持AMR格式的.但 Android 好像是默认是AMR格式的.两边格式不同必然有 ...

  9. 怎么转换html文件为mp3,如何把音频转换成mp3_音频文件怎么转mp3格式-系统城

    随着计算机技术的发展,网络上的音频文件的格式会随着音质的好坏决定存储的格式,一些朋友想要把某些音频文件转化成mp3格式,却不知道怎么操作.那么我们该如何把音频文件转换成mp3呢?接下来小编就给大家带来 ...

最新文章

  1. boost::static_mutex 的测试程序
  2. boost::mp11::mp_third相关用法的测试程序
  3. 素数判定算法 MILLER RABIN
  4. 初识ABP vNext(9):ABP模块化开发-文件管理
  5. 【Java】猜数字小游戏设计由浅入深
  6. 人力资源SaaS软件“乐才Joy HR”获数百万元战略融资
  7. 算法(八):图解KNN算法
  8. vc mscomm串口通信使用了CButtonST按钮类软件分析
  9. Go语言学习之旅--初识GoLang
  10. 最新JMeter面试题,紧扣面试实际要求,看完拿下20K
  11. 常用音频单位简介:dBSPL、dBm、dBu、dBV、dBFS
  12. Linux 文件压缩和解压命令 (压缩、解压)
  13. 5G工业无线路由器的优势和应用场景
  14. 量子计算机 并行,核磁共振量子计算机与并行量子计算
  15. Delaunay三角网之逐点插入法
  16. 刘涛入职阿里P10,年薪150W+:不做演员,也很优秀
  17. 利好:加快发展统一的资本市场
  18. springboot 中的 文件、短信、邮件、token 工具类
  19. Unity3D中实现帧同步 (一):对抗延迟
  20. 零基础学习python第二课笔记

热门文章

  1. php过滤多空格_php正则过滤html标签、空格、换行符的代码(附说明)
  2. Spring Boot EasyUI edatagrid 扩展
  3. Tomcat端口号的修改
  4. IDEA 生成get和set方法
  5. 如何用手机打开dcm格式图片_压缩图片用这个神奇吧(电脑版)
  6. avr单片机led数码管六位动态显示时分秒c语言程序,AVR单片机控制8段LED数码管同时显示 - AVR单片机8位数码管显示的程序实现(两种方法介绍)...
  7. oracle中orand使用,Postgres兼容Oracle研究——orafce调研
  8. wireshark-win64-3.4.0安装_轴承安装规范
  9. stm32g4 下载算法_难道STM32G4芯片的主频才到80MHz?
  10. 【Python】hashlib模块实现MD5加密