Документация для остановки гласит:
IllegalStateException, если она вызывается до start ()
Теперь я предполагаю, что вы не звонитеэто перед началом.Что мне интересно, если ваш onCreate () происходит правильно.Если по какой-то причине onCreate () вызывается во второй раз (например, экран вращается), то будет создан новый MediaRecorder, и вы будете вызывать stop () на устройстве записи, которое еще не было вызвано.
Кроме того, вы уверены, что start () работает правильно?Возможно, IllegalStateException исходит из start ().Можете ли вы дать нам полную трассировку стека, чтобы сказать, откуда исходит IllegalStateException?
Продолжение с исключением, которое вы дали.Это, вероятно, потому что каталог аудиометра не существует.Если вы создадите это с помощью File.mkdir (), это должно работать.Или попробуйте запустить файл с именем верхнего уровня, как показано в примере по адресу: http://developer.android.com/guide/topics/media/index.html
recorder.setOutputFile("/audiorecordtest.3gp");