В соответствии с документацией http://developer.android.com/reference/android/media/MediaRecorder.html#setMaxDuration(int)
запись прекращается, когда таймер истекает.
Стоп-ли это означает, что он вызывает внутреннюю функцию recorder.stop(), а затем восстанавливает состояние, в котором находилось приложение, перед вызовом recorder.start()?