Android: как определить, когда пользователь перестает говорить в микрофон - PullRequest
7 голосов
/ 09 марта 2011

У меня есть приложение Android, которое начинает запись с микрофона при запуске приложения. В моей текущей версии пользователь должен нажать кнопку STOP, чтобы остановить запись.

Как я могу определить, что пользователь прекратил говорить, и использовать его для остановки диктофона?

Аналогично тому, что реализовано в функциональности распознавания речи в Android. Пользователь перестает говорить, а затем речь переводится. Я видел другие приложения, которые делают это, такие как приложения типа Говорящего Тома.

В качестве дополнительного примечания я также хотел бы показать какой-то тип визуальной информации о том, что микрофон получает звук. Что-то, чтобы показать уровень звука, поступающего.

Любая помощь приветствуется.

Ответы [ 2 ]

5 голосов
/ 25 июля 2012

Подход состоит в том, чтобы использовать потоки при записи и процесс анализа мощности речи на записанных байтах, Вот пример кода для вашей справки: http://musicg.googlecode.com/files/musicg_android_demo.zip

0 голосов
/ 09 марта 2011

Что вы используете для записи аудио?Это может дать некоторые подсказки:

android.media.MediaRecorder:

  • константа MEDIA_RECORDER_INFO_MAX_DURATION_REACHED может использоваться с onInfoListener.

android.speech.SpeechRecognizer:

  • присоедините RecognitionListener и вызовите onEndofSpeech ().
...