java amr格式轉mp3格式(完美解決Linux下轉換0K問題)
因專案需求,需要將 amr 格式的檔案轉成 mp3格式。
網路上提供的思路大多是使用jave-x-x.jar。
這個包確實有用,因為開發時是在windows環境中,測試轉換雖然報了異常:
1
|
it.sauronsoftware.jave.EncoderException: Duration: N/A, bitrate: N/A
|
但也確實轉換成功了,可以播放。
可是一旦部署到Linux環境當中,不是轉換失敗,就是轉換的檔案為大小 0 k。百思不得其解。
原因
經過一些資料和原始碼跟蹤,終於找到了原因。
jave的能轉換的原理其實就是呼叫外部的二進位制可執行檔案 ffmpeg
,開啟它的jar包就可以發現,它裡面內建了:
。
所以實際上,jave就是封裝了一層對外部ffmpeg
的呼叫。
而windows上能轉換是因為:ffmpeg.exe 這個程式沒問題。
而Linux上轉換失敗也是因為 ffmpeg 這個可能版本太老或依賴庫缺失。
起初我以為是呼叫外部的ffmpeg,所以重新安裝編譯了Linux的ffmpeg,然並卵。
所以只能再想其他解決方案。
解決方法;
1:在java專案中新增jar包http://download.csdn.net/download/z313731418/9336665地址
然後選擇一個32位還是64位:
下載之後解壓,選擇其中的ffmpeg,替換掉。
2、java 程式碼
public static void changeToMp3(String sourcePath, String targetPath) { File source = new File(sourcePath); File target = new File(targetPath); AudioAttributes audio = new AudioAttributes(); Encoder encoder = new Encoder(); audio.setCodec("libmp3lame"); EncodingAttributes attrs = new EncodingAttributes(); attrs.setFormat("mp3"); attrs.setAudioAttributes(audio); try { encoder.encode(source, target, attrs); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (InputFormatException e) { e.printStackTrace(); } catch (EncoderException e) { e.printStackTrace(); } }
3.如果打印出了錯誤
基本上算是成功了。可以去目錄下檢視是否有檔案。
其他!失敗看這裡!
如果沒成功,或者轉換失敗,看這裡。
在操作的時候,為了驗證伺服器支援這種方式,你可以將下載回來的ffmpeg拷貝到你的伺服器上,手動進行轉換一次,如果失敗,可以留言哦。
可以操作如下:
- 解壓檔案(可以自己下載,也可以下載博主在最後提供的現成的jar包,直接解壓jar也,開啟
.it/sauronsoftware/jave
目錄,也可以看到這個ffmpeg ) - 進入目錄,看到ffmpeg檔案後,將其拷貝到Linux環境下。
- 準備一個amr檔案,將兩個檔案都拷貝到同一個目錄下,進行測試。如果準備好了,如圖:
-
接著先給ffmpeg加個執行許可權
1
chmod +x ffmpeg
-
接著呼叫 ffmpeg 執行轉換下
1
./ffmpeg -i test.amr test.mp3
然後你會看到一堆的日誌,並且可能還有提示,“test.amr: Input/output error”,但不要擔心,先不管,你檢視下這個目錄下是否多了一個test.mp3 檔案。如果有了,恭喜你,轉換成功了,嘗試播放下MP3
相關推薦
java amr格式轉mp3格式(完美解決Linux下轉換0K問題)
因專案需求,需要將 amr 格式的檔案轉成 mp3格式。 網路上提供的思路大多是使用jave-x-x.jar。 這個包確實有用,因為開發時是在windows環境中,測試轉換雖然報了異常: 1 it.sauronsoftware.jave.EncoderExcepti
java後臺amr格式轉mp3格式方法
方法一: 使用ffmpeg 軟體。public void changeAmrToMp3(String sourcePath, String targetPath) throws IllegalArgumentException, EncoderException {
錄音檔案上傳且amr格式轉mp3格式
1.錄音檔案 前臺測試程式碼: <form id="upload" enctype="multipart/form-data" method="post"> <input type="file" name="file" id="pic"/>
ncm格式轉mp3格式
1.用瀏覽器播放你需要轉換格式的那首網易雲歌曲;2.播放結束後在internet選項——常規——瀏覽歷史記錄——設定——Internet臨時檔案——檢視檔案,開啟後按時間排列,最近的mp3或者wma等歌曲格式的檔案就是你剛才聽過的歌的快取(類似”mms://m10.music.126.net.....”這類開
[轉載[完美解決 Linux 下 Sublime Text 中文輸入
.html void region sometimes pkg time pre install amp 原文地址: http://www.cnblogs.com/wangkongming/p/4302642.html 轉來備忘。 系統CentOS7.3 fcitx 中文輸
完美解決 Linux 下 Sublime Text 中文輸入
參考Sublime Text官方論壇一位中國哥們的 回覆,通過以下方法完美解決Sublime Text 2中文輸入的問題。這幾天討論區老是有人提問,就寫個教程吧。 系統:Linux Mint 14 Nadia輸入法:Fcitx 4.2.6.1 PPA。 1. 儲存下面的程式碼為sublime_imfi
完美解決 Linux 下 Sublime Text 3中文輸入
sublime很好用,但是ubuntu下不能輸入中文,這是一個很大的問題。 網上的方法各種樣。但是在終端執中開啟 sublime 事先設定 LD_PRELOAD 。 在這裡我提供一個個人認為最簡單的方法。 系統:ubuntu 14.04 輸入法:fcit
java利用ffmpeg將amr、caf轉mp3格式
最近再做一個專案,要將手機APP上的檔案上傳到伺服器上來,包括圖片、聲音、視訊檔案。起初只有Android版,大家知道,Android的錄音格式amr,在電腦上播放不出來,必須轉碼。因為之前只有Android版的,所以就用jave給方便的解決了。但是後來又增加了iP
php自定義函數: amr轉mp3格式
com pre php mp3 ams highlight cti ror cal <?php function amr2mp3($file){ if (file_exists($file . ‘.mp3‘) == true) { retur
mp3格式轉wav格式 附完整C++算法實現代碼
結果 lsa orm 掃碼 sampler mp3文件 采樣率 mp3 完整 近期偶然間看到一個開源項目minimp3 Minimalistic MP3 decoder single header library 項目地址: https://github.com/lieff
視訊轉mp3格式轉換器怎麼使用
視訊轉換器怎麼把視訊轉換成mp3格式?有時候需要將一些視訊中的音訊提取出來,但是沒有專業的工具,很不好辦,小編通過朋友的介紹,知道有一款軟體可以高效轉換音視訊檔案的格式,這款軟體體積不大,功能卻很多,可以幫我們輕鬆解決不少音視訊格式方面的問題,下面我們就一起來看看快速把視訊轉換成mp3的方法~
m4r轉mp3格式用什麼音訊轉換器好
經常玩弄鈴聲製作的童鞋也許比較清楚m4r是什麼格式,m4r是iphone鈴聲的一種音訊格式,在國內的一些iPhone鈴聲資源站或者是蘋果iTunes上都是有得下載,不過對於安卓或者非ios系統的手機來說,它們並不支援m4r格式音訊,這個時候就需要將下載到的m4r
ogg轉mp3格式轉換器哪個好用
工具 album sel play 合並 ase 尺寸 ref lec 大家有沒有遇到這種情況,在網上下載了一首音樂,但是在手機的MP3裏卻不能播放,因為這個音樂是ogg格式的,雖然ogg格式音頻優點眾多,支持多聲道,音質好,但是沒辦法,MP3不支持播放,還是要轉換格式,怎
IOS 實現使用lame庫 錄音轉MP3格式 邊錄邊轉功能
在iOS中使用AVAudioRecorder無法錄製MP3格式的音訊檔案,雖然你可能會看到過這樣一個列舉: CF_ENUM(AudioFormatID) { kAudioFormatLinearPCM = 'lpcm',
Java 字符串(String)格式轉json格式
scrip ice service() trac bject nco ref 輸出 auto json是前後端傳輸數據的一種文本格式,json其實就是字符串,因為前後端傳輸數據時,只能傳輸字符串,我們又想傳一些對象或者列表信息,這都是很常見的應用場景。 所以,我們需要在j
老司機圖文教程教你如何免費下載騰訊視頻的視頻mp4(直接下載到,不用qlv格式轉mp4格式,親測)
bsp 答案 微信 mp4 文件合並 免費下載 說明 格式轉換 com 關於如何下載到騰訊視頻的mp4這個問題,大家想必經過多翻搜索,都未必找到滿意的答案吧。 下載微信公眾號文章中引用的騰訊視頻的方法也是一樣適用本方法。 因為用騰訊視電腦客戶端和手機APP下載到的都是Q
(POI)Excel格式轉Html格式
alignment range llc dde 文件轉換 ESS inf res rto Demo結構和引用的Jar包 源代碼(TestDemo.java) POI中將Excel轉換為HTML方法僅能轉換HSSFWorkBook類型(即03版xls),故可以先將讀取的
推薦一個markdown格式轉html格式的開源JavaScript庫
ron 輸入框 com world 字符 scrip ogr gem load 這個markdown格式轉html格式的開源JavaScript庫在github上的地址: https://github.com/millerblack/markdown-js 從markdow
如何將FLAC格式轉為MP3格式
align 比較 分享圖片 自己 宋體 局限 多個 註冊登錄 span FLAC是一種無損壓縮格式,也就是說音頻以FLAC編碼壓縮後不會丟失任何信息,並且將FLAC文件還原後與壓縮前的文件內容相同。由於FLAC的無損壓縮性質導致它所占儲存空間也很大,特別對於喜歡聽音樂的
VIA格式轉COCO格式
VIA是一款很好用的標註軟體,基於網頁,不過現在開源的大多數目標檢測器都是基於COCO訓練和測試的,我們如果想要訓練自己的資料集,要麼修改原始碼,要麼將自己的標註格式改成COCO格式,採用第一種方法很容易出錯,那麼格式轉換就是一個比較簡單的辦法,我找了好久沒有看到VIA格式轉為COCO格式的工具或者部落格,於