Я обычно использую вариант использования: я создаю экземпляр медиа-рекордера и запускаю, когда пользователь нажимает кнопку. как только запись закончена, и пользователь нажимает кнопку остановки, я отпускаю медиа-рекордер.
Вот мой кусок кода:
private fun startRecording() {
mRecorder = MediaRecorder()
try {
mRecorder.prepare()
mRecorder.start()
} catch (e: IOException) {
e.printStackTrace()
}
}
Когда пользователь нажимает кнопку остановки, затем вызывать метод stopRecording.
private fun stopRecording() {
mRecorder.stop()
mRecorder.release()
}
То же самое, что вы можете применить в вашем приложении.
Примечание: код в Kotlin.