Pausar e retomar com o Android MediaRecorder (nível de API <24)
Enquanto estiver usandoMediaRecorder
, não temos uma pausa / resumo para o nível da API abaixo de 24. Portanto, pode haver uma maneira de fazer isso:
Muitas pessoas fizeram esta pergunta no SO, mas não conseguiram encontrar uma maneira de resolver isso. As pessoas falam sobre a criação de vários arquivos de mídia, parando a gravação na ação de pausa e reiniciando o currículo. Portanto, minha pergunta é: como podemos mesclar / juntar todos os arquivos de mídia programaticamente?
Nota: no meu caso contêiner MPEG4 - m4a para áudio e mp4 para vídeo.
Eu tentei usarSequenceInputStream
para mesclar vários InputStream dos respectivos arquivos gravados gerados. Mas sempre resulta apenas no primeiro arquivo.
Fragmento de código:
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();