4
我想以AMR文件格式录制音频。我目前使用波纹管代码来录制音频:以AMR文件格式录制音频
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "Sample.3gp";
myRecorder = new MediaRecorder();
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
myRecorder.setOutputFile(outputFile);
但它会生成.3gp文件。我怎样才能得到.amr文件? 将输出文件更改为Sample.amr。但这是一种正确的方式吗?请帮助
编辑 ITS现在问题解决了
这是我愚蠢的错误:我以前myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
应该是─
myRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
所以波纹管代码在工作记录AMR格式:
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "Sample.amr";
myRecorder = new MediaRecorder();
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
myRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
myRecorder.setOutputFile(outputFile);
谢谢。但我已经试过了。当我们开始录制错误时,它强制关闭应用程序:**开始失败-22 ** java.lang.RuntimeException:开始失败 – AnujDeo 2014-11-01 07:38:04
您是否先拨打准备,然后调用开始。如果您可以共享整个文件,这很有帮助。 – lucky1928 2014-11-01 14:22:51
检查我编辑的版本,它适用于moto g设备。你的设备是什么?可能是设备问题。 – lucky1928 2014-11-01 16:06:02