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