linux java amr转mp3_本工具用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...
音頻轉(zhuǎn)碼工具
本工具主要用于將微信語音 amr 格式轉(zhuǎn)換為 mp3 格式以便在 html5 的 audio 標簽中進行播放。
支持 Linux/Windows/Mac 平臺
因為是基于 JAVE 項目的修改,而 JAVE 是依賴 ffmpeg 所以可以適用于所有 ffmpeg 所支持的文件格式的轉(zhuǎn)換。具體可以查看 JAVE 官方文檔
使用示例
引入 maven 依賴
com.github.dadiyang
jave
1.0.6
調(diào)用 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);
}
原理
初始化時判斷當(dāng)前運行環(huán)境,將bin目錄中對應(yīng)的 ffmpeg 可執(zhí)行文件拷貝到臨時目錄中
根據(jù)文件類型及配置通過 Runtime.getRuntime().exec(cmd) 執(zhí)行 ffmpeg 對應(yīng)的轉(zhuǎn)碼命令
JAVE 項目的問題
ffmpeg 是依賴運行環(huán)境的,JAVE 項目封裝了ffmpeg,它通過上述的原理使 java 可以調(diào)用ffmpeg而且支持跨平臺。
項目老舊沒再維護。官網(wǎng)最近版本是2009年發(fā)布的,其依賴的ffmpeg早已過時,很多情況下用不了。
轉(zhuǎn)碼一直報異常 EncoderException: Stream mapping
沒有發(fā)布maven倉庫,而且 JAVE 本身也不是一個maven項目
不支持mac
本項目特點
本項目為解決上述問題而生。
這是一個maven項目,而且已發(fā)布到中央倉庫。
項目依賴的 ffmpeg 可執(zhí)行文件經(jīng)過驗證可以使用(單元測試中提供了一個簡單的檢驗方法)
解決了amr轉(zhuǎn)mp3出現(xiàn)的 EncoderException: Stream mapping
支持 Linux/Windows/Mac 平臺
擴展
如果程序無法通過拷貝資源文件的方式獲取到 ffmpeg 的可執(zhí)行文件或者內(nèi)置的 ffmpeg 不支持你所使用的操作系統(tǒng)
你可以通過環(huán)境變量或者在 java 中設(shè)置 System.setProperty("ffmpeg.home", "ffmpeg可執(zhí)行文件所在的目錄") 的方式指定你的系統(tǒng)中安裝的可用的 ffmpeg 文件的目錄
如 System.setProperty("ffmpeg.home", "/usr/local/bin/")
參考
本工具使用 JAVE 源碼改造而來
LICENSE
JAVE 項目是基于 GPL 協(xié)議的開源項目,本項目是在 JAVE 的基礎(chǔ)上進行修改和增強,因此也采用 GPL 協(xié)議開源。
JAVE is Free Software and it is licensed under GPL.
總結(jié)
以上是生活随笔為你收集整理的linux java amr转mp3_本工具用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: weblogic作为linux服务器,w
- 下一篇: php grepmatch,linux最