美文网首页
JAVA 音频转换AMR 转MP3,OS,Linux cent

JAVA 音频转换AMR 转MP3,OS,Linux cent

作者: 大继 | 来源:发表于2018-12-05 19:09 被阅读0次

场景

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

maven

 <!-- https://mvnrepository.com/artifact/ws.schild/jave-core -->
        <dependency>
            <groupId>ws.schild</groupId>
            <artifactId>jave-core</artifactId>
            <version>2.4.4</version>
        </dependency>

从我的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.<init>(DefaultFFMPEGLocator.java:84)
    at ws.schild.jave.Encoder.<init>(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

<!-- https://mvnrepository.com/artifact/ws.schild/jave-native-osx64 -->
        <dependency>
            <groupId>ws.schild</groupId>
            <artifactId>jave-native-osx64</artifactId>
            <version>2.4.4</version>
        </dependency>

搞定 so easy

Windows 版导这个

<!-- https://mvnrepository.com/artifact/ws.schild/jave-native-win64 -->
<dependency>
    <groupId>ws.schild</groupId>
    <artifactId>jave-native-win64</artifactId>
    <version>2.4.4</version>
</dependency>

Linux 版导这个

<!-- https://mvnrepository.com/artifact/ws.schild/jave-native-linux64 -->
<dependency>
    <groupId>ws.schild</groupId>
    <artifactId>jave-native-linux64</artifactId>
    <version>2.4.4</version>
</dependency>

测试结果

image.png

参考

相关文章

  • JAVA 音频转换AMR 转MP3,OS,Linux cent

    场景 近期在做微信开发时,需要获取用户发给公众服务号的语音留言。而从微信服务端下载来的语音格式却是amr的格式,同...

  • 简单的amr转换mp3音频格式转换方法

    那今天小编就教大家使用迅捷音频转换器把amr音频文件转换成mp3音频格式,只需要简单操作几步就能完成。 使用工具:...

  • AMR音频

    AMR文件格式分析 AMR音频编解码 AMR音频格式分析 音视频软件 Ubuntu下音/视频转换工具tra...

  • mp3转换器哪个好用?

    现在的音乐音频最常见的格式则是MP3格式,MP3格式的音频兼容性佳,而且容量也不大,音频格式可以通过MP3转换器来...

  • 转码

    ios 不能播放amr格式。ios 录制的音频位wav格式。 wav转amr可以使用opencore框架

  • flac文件转换成mp3格式

    大家可能都知道flac为无损压缩音频格式, mp3为有损压缩音频格式,flac转mp3也就是无损转换成有损压缩,但...

  • amr 转 mp3

    参考:https://www.cnblogs.com/LittleBai/p/5924416.html 转换方法一...

  • iOS 音频转码mp3,wav,amr格式

    主体功能:(Swift版本) 1、将录制的caf格式音频转码mp3格式 2、wav格式与amr格式音频相互转码 申...

  • Lame框架 MP3与WAV互转

    WAV转换成MP3 MP3转换成WAV

  • mysql关闭启动命令

    RedHat Linux (Fedora Core/Cent OS) 1.启动:/etc/init.d/mysql...

网友评论

      本文标题:JAVA 音频转换AMR 转MP3,OS,Linux cent

      本文链接:https://www.haomeiwen.com/subject/vqiwcqtx.html