我是
Android开发的新手,我有下一个问题/问题.
我正在玩MediaRecorder类来录制麦克风中的音频.我正在按照官方网站上指示的步骤进行操作:http://developer.android.com/reference/android/media/MediaRecorder.html
所以我有一个初始化和配置MediaRecorder对象的方法,以便开始录制.在这里你有代码:
this.mr = new MediaRecorder();
this.mr.setAudioSource(MediaRecorder.AudioSource.MIC);
this.mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
this.mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
this.mr.setOutputFile(this.path + this.fileName);
try {
this.mr.prepare();
} catch (IllegalStateException e) {
Log.d("Syso", e.toString());
e.printStackTrace();
} catch (IOException e) {
Log.d("Syso", e.toString());
e.printStackTrace();
}
当我在模拟器中执行此代码时,感谢logcat,我可以看到方法setAudioSource(MediaRecorder.AudioSource.MIC)在调用时给出了下一个错误(带有标记audio_ipunt):
ERROR/audio_input(34): unsupported parameter: x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value
ERROR/audio_input(34): VerifyAndSetParameter failed
然后当调用方法prepare()时,我再次得到另一个错误:
ERROR/PVOMXEncNode(34): PVMFOMXEncNode-Audio_AMRNB::DoPrepare(): Got Component OMX.PV.amrencnb handle
如果我开始记录方法start()…我收到很多消息说:
AudioFlinger(34):RecordThread: buffer overflow
然后……在停止和释放之后,……我可以看到已经创建了一个文件,但它似乎没有被记录好.不管怎样,如果我在一个真实的设备中尝试这个,我可以毫无问题地录制,但我不能播放我刚录制的内容.
我猜想关键在于我之前提到过的这些错误.我该如何解决这些问题?任何建议或帮助?
最佳答案 模拟器在录音方面存在很多问题.让我们说它不起作用.您最好的选择是在真实设备中尝试您的代码!