Android: Cómo detectar cuando un usuario deja de hablar en el 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 un botón STOP para detener la grabación.

¿Cómo puedo detectar que el usuario ha dejado de hablar y usarlo para disparar la grabadora?

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

Como una nota lateral también me encantaría mostrar algún tipo de visual que indica que el micrófono está recibiendo sonido. Algo que muestre el nivel de sonido que viene.

Cualquier ayuda apreciada.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.