При использовании MediaRecorder
, у нас нет паузы/резюме для уровня API ниже 24. Так что может быть способ сделать это:Пауза и резюме с Android MediaRecorder (уровень API <24)
- В случае приостановки остановите рекордер и создайте записанный файл.
- И при возобновлении записи снова записывайте и создайте другой файл и продолжайте делать это до тех пор, пока пользователь не остановит нажатие.
- И, наконец, слить все файлы.
Многие люди задавали этот вопрос так, но не смогли найти решение. Люди говорят о создании нескольких медиафайлов, останавливая запись в режиме паузы и перезапуская при возобновлении. Поэтому мой вопрос: как мы можем программно объединить/объединить все медиафайлы?
Примечание: в моем случае. Контейнер MPEG4 - m4a для аудио и mp4 для видео.
Я попытался использовать SequenceInputStream
, чтобы объединить несколько InputStream соответствующих сгенерированных записанных файлов. Но он всегда выводит только первый файл.
Код сниппета:
Enumeration<InputStream> enu = Collections.enumeration(inputStreams);
SequenceInputStream sqStream = new SequenceInputStream(enu);
while ((oneByte = sqStream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, oneByte);
}
sqStream.close();
while (enu.hasMoreElements()) {
InputStream element = enu.nextElement();
element.close();
}
fileOutputStream.flush();
fileOutputStream.close();
Возможный дубликат [Пауза и возобновление записи звука в Android] (https://stackoverflow.com/questions/5743165/pause-and-resume-audio-recording-in-android) – soshial