Приостановить и возобновить запись звука в Android

Я разрабатываю приложение для записи звука в Android 2.3 с использованием класса MediaRecorder. У меня есть следующее требование:

  1. Когда происходит прерывание, например, во время записи разговора, приостановите запись.
  2. После того, как прерывание закончилось и вызывается onResume моей записи, я должен возобновить запись с того места, где она была приостановлена.

Мне не удалось найти API MediaRecorder для приостановки и возобновления записи. Доступны только start () и stop ().
Помимо записи двух отдельных файлов до и после прерывания и последующего объединения их в один файл, есть ли другой способ добиться этого?

Снеха Джон.


person Sneha John    schedule 21.04.2011    source источник
comment
Более серьезная проблема, которую я вижу здесь, заключается в том, что микрофон отключается, когда вы совершаете исходящий телефонный звонок во время записи звука, даже если вы пытаетесь остановить запись звука, когда вы получаете трансляцию для исходящего телефонного звонка.   -  person Sney    schedule 14.11.2011
comment
Как я знаю из библиотеки управления звуком java, start и stop на самом деле могут быть start и pause. Функция остановки достигается с помощью паузы и перемотки назад или setPosition.   -  person Andrei B.    schedule 04.04.2012
comment
Вы нашли какое-нибудь решение? mediaRecorder.pause () и mediaRecorder.resume () работают с API версии 27 и более.   -  person jyomin    schedule 01.05.2019


Ответы (1)


Есть два возможных способа выполнить эту задачу: если вы используете медиа-рекордер для записи, тогда вы можете добавить один аудиофайл в другой. Например, когда вам поступает входящий звонок, автоматически вызывается ваша пауза и на вашем onPause() вы можете записывать этот 1-й файл, когда вы снова вернетесь к своей деятельности, вы можете записать временный fileResume() и добавить этот временный файл в предыдущий.

И еще один способ - использовать класс AudioRecorder(). Таким образом, вы можете записывать звук как необработанный файл и добавлять эти файлы в соответствии с вашими требованиями и, наконец, когда вы хотите остановить запись, чем добавить заголовок в этот необработанный файл и преобразовать его в желаемый аудиоформат.

person Ravinder    schedule 09.04.2012