2015-08-25 111 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

相关问题