La duración del video grabado en Android Mediarecorder es diferente de la duración esperada

Grabé un video usando Android Mediarecorder.

(Problema principal: necesito saber la hora exacta de inicio [hora del sistema] y hora final [hora del sistema] del video y la [hora final - hora de inicio] debe coincidir con la duración del video real)

MediaRecorder.start
startTime = System.currentTimeMillis()

then on stop

MediaRecorder.stop
endTime = System.currentTimeMillis()

Espero que el video tenga esta duración

expect_duration = (endTime - startTime)

sin embargo, el

la duración esperada siempre es mayor que la duración real del video.

Mi sospecha es que MediaRecorder.start es lento, tomó un tiempo antes de que realmente comenzara a escribir los cuadros en un video.

Entonces, ¿hay alguna forma de recibir una notificación cuando MediaRecorder comenzó a escribir el primer fotograma en un video? ¿o hay alguna forma de averiguar el tiempo exacto de inicio del sistema de cuando el video realmente comenzó a grabar?

Gracias por leer y agradecemos cualquier comentario, opinión o sugerencia. ^^

Respuestas a la pregunta(1)

Su respuesta a la pregunta