Android: como detectar quando um usuário para de falar no microfone

Eu tenho um aplicativo Android que começa a gravar no microfone quando o aplicativo é iniciado. Na minha versão atual, o usuário deve pressionar um botão STOP para interromper a gravação.

Como detecto que o usuário parou de falar e o uso para acionar o gravador?

Semelhante ao implementado na funcionalidade de reconhecimento de fala no Android. O usuário para de falar e o discurso é traduzido. Eu já vi outros aplicativos que fazem isso, como os aplicativos do tipo Talking Tom.

Como nota lateral, eu também adoraria mostrar algum tipo de visual indicando que o microfone está recebendo som. Algo para mostrar o nível de som entrando.

Qualquer ajuda apreciada.

questionAnswers(2)

yourAnswerToTheQuestion