Método 1: conservar los archivos de encabezado de todos los segmentos
(1) Vea el código fuente AudioPlayer.java del complemento, puede encontrar que la función de detener grabación graba uno segmento a la vez y lo guarda como archivos temporales, que luego se unen en un archivo de grabación completo al final de la sesión final.
Original: Cordova: se solucionó un problema por el cual el complemento multimedia no podía reproducir toda la grabación después de pausarla y reanudarla (solo se podía reproducir el primer segmento)
(2) y al empalmar, excepto el primer clip, los archivos de encabezado de todos los clips posteriores se unirán en un archivo de grabación completo. Se eliminarán los siguientes fragmentos (6 bytes) del encabezado.
Texto original: Cordova: resuelva el problema de que la grabación no se puede reproducir por completo después de pausar y reanudar el complemento multimedia (solo se reproduce el primer segmento)
(3) Entonces, una solución es conservar todos los segmentos y no estoy seguro si hay otros problemas sin eliminar los archivos de encabezado, pero hasta ahora este método se ha probado en múltiples versiones del sistema del dispositivo y funciona bien.
Texto original: Cordova - Resuelva el problema de que el complemento multimedia no puede reproducir la grabación por completo después de pausarla y reanudarla (solo se reproduce el primer párrafo)
Método 2: uso directo Métodos de pausa () y reanudación () de MediaRecorder para implementar pausa y reanudación
(1) La grabación del complemento se implementa usando MediaRecorder, pero dado que Google no implementa Pausa () en MediaRecorder, el complemento se utiliza para guardar varios archivos y luego se combinan con métodos para implementar pausa y reanudación.
(2) En API24 y superiores, puede utilizar el método pausa() proporcionado oficialmente (debe usarse junto con el método resume()) sin dividirlo en varios archivos y luego fusionarlos en Together.
(3) Por lo tanto, si no necesitamos ser compatibles con dispositivos con versiones de sistema inferiores (inferiores a Android 6.0), podemos cambiar los métodos de pausa y reanudación en el código fuente del complemento.