安卓调用录音MediaRecorder在start的时候老是有异常
mRecorder = new MediaRecorder();
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(mFileName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed"+"..=="+e.toString());
}
// try{
mRecorder.start();
// }catch (IllegalStateException e)
// {
// startRecording();
// Log.e(LOG_TAG, "start() failed"+"..=="+e.toString());
// }
创建一个android project运行录音没什么问题, 但是用cocos2dx调用到android的时候就老是没办法进行录音,老是会抛出下面这些异常
05-16 20:55:03.562: E/AudioRecordTest(7775): prepare() failed..==java.io.IOException: No valid output file
05-16 20:55:03.562: E/MediaRecorder(7775): start called in an invalid state: 4
05-16 20:55:03.562: W/System.err(7775): java.lang.IllegalStateException
05-16 20:55:03.562: W/System.err(7775): at android.media.MediaRecorder.start(Native Method)
05-16 20:55:03.562: W/System.err(7775): at org.cocos2dx.lua.RecorderUtils.startRecording(RecorderUtils.java:31)
05-16 20:55:03.562: W/System.err(7775): at org.cocos2dx.lua.AppActivity.startRec(AppActivity.java:165)
05-16 20:55:03.562: W/System.err(7775): at org.cocos2dx.lib.Cocos2dxRenderer.nativeTouchesBegin(Native Method)
05-16 20:55:03.562: W/System.err(7775): at org.cocos2dx.lib.Cocos2dxRenderer.handleActionDown(Cocos2dxRenderer.java:126)
05-16 20:55:03.562: W/System.err(7775): at org.cocos2dx.lib.Cocos2dxGLSurfaceView$6.run(Cocos2dxGLSurfaceView.java:220)
05-16 20:55:03.562: W/System.err(7775): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1462)
05-16 20:55:03.562: W/System.err(7775): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
不知道是怎么回事