2015-10-05 57 views
1

我想在我的应用程序中使用mediarecorder来录制语音。 我正是在http://developer.android.com/reference/android/media/MediaRecorder.html下描述的,但exception总是抛出start()方法。 代码应该被罚款,因为我也尝试了所谓的Mediarecorder从谷歌的代码示例,但我得到同样的exception:Android:Mediarecoder在启动时抛出IllegalStateException()

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(TAG, "prepare() failed"); 
    } 
    mRecorder.start(); 

我已经添加的权限(android.permission.WRITE_EXTERNAL_STORAGE and android.permission.RECORD_AUDIO)至AndroidManifest.xml,和我上启动应用程序我的智能手机。

有谁知道什么可能会导致Exception以及需要做什么?

+0

研究MediaRecorder的生命周期。 – Kedarnath

+0

提供显示非法状态异常的日志 –

回答

1

感谢您的意见。我能解决这个问题。事实上,我有一个缺少mRecorder.release(),所以似乎启动方法被调用两次。

相关问题