Пауза и возобновление с Android MediaRecorder (уровень API <24)
При использованииMediaRecorder
у нас нет паузы / возобновления для уровня API ниже 24. Так что может быть способ сделать это:
Многие люди задавали этот вопрос на SO, но не могли найти решение этой проблемы. Люди говорят о создании нескольких медиа-файлов, останавливая запись в режиме паузы и перезапуская при возобновлении. Поэтому мой вопрос: как мы можем объединить / объединить все медиа-файлы программно?
Замечания: в моем случае контейнер 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();