Android: cómo detectar cuándo un usuario deja de hablar al micrófono

Tengo una aplicación de Android que comienza a grabar desde el micrófono cuando se inicia la aplicación. En mi versión actual, el usuario debe presionar el botón STOP para detener la grabación.

¿Cómo detecto que el usuario ha dejado de hablar y lo uso para que la grabadora se detenga?

Similar a lo que se implementa en la funcionalidad de reconocimiento de voz en Android. El usuario deja de hablar y luego se traduce el discurso. He visto otras aplicaciones que lo hacen, como las aplicaciones tipo Talking Tom.

Como nota al margen, también me encantaría mostrar algún tipo de visual que indique que el micrófono está recibiendo sonido. Algo para mostrar el nivel de sonido que entra.

Cualquier ayuda apreciada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta