2015-08-25 110 views
-2
myRecorder = new MediaRecorder(); 
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB); 
myRecorder.setOutputFile(path); 

正在使用此代碼在android中錄製音頻。在將記錄的文件發送到Web服務時,它會拋出錯誤,因爲.3gpp格式不被允許。如果我發送mp3文件,它正在工作。我可以如何處理它。我衝浪,但無法得到。如何將3gpp格式的音頻文件轉換爲Android中的mp3

簡稱此鏈接:在.MP3格式 Converting 3gp/amr audio file to mp3 in java

+0

OutputFormat.THREE_GPP是一個大提示... –

回答

2

好錄製音頻。

myRecorder= new MediaRecorder(); 
    myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    myRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
    myRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
    myRecorder.setOutputFile(path); 
+0

感謝您的迴應。我也試過這個選項。我可以保存在mp3中並播放該音頻文件。實際的問題是將音頻文件發送到Web服務(ruby paperclip)。那裏「音頻有不是他們被報告的內容」正在得到這樣的迴應。如果我從我的設備發送其他一些mp3文件,它會正確上傳。 – Vaishu

+0

MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); builder.addBinaryBody( 「音頻」,數據,ContentType.create( 「音頻/ MP3」), 「請將test.mp3」);數據是byte []。通過這種方式發送數據到Web服務。 – Vaishu

相關問題