Сравнение использования распознавания речи в Android :по Intent или по потоку -?

Введение

Android предоставляет мне два способа использования распознавания речи.

первый способ — это Intent, как и в этом вопросе:Пример намерения . Новый Activityпомещается на вершину стека, который слушает пользователя, слышит какую-то речь, пытается расшифровать ее (обычным образом через облако ), а затем возвращает результат моему приложению через onActivityResultвызов.

второй — получить SpeechRecognizer, как здесь код:Пример распознавания речи . Здесь похоже, что речь записывается и расшифровывается в каком-то другом потоке, а затем обратные вызовы приносят мне результаты. И это делается не выходя из моегоActivity.

Я хотел бы понять плюсы и минусы этих двух способов распознавания речи .

Что у меня есть на данный момент

ИспользованиеIntent:

  • просто кодировать
  • избегает изобретения велосипеда
  • обеспечивает согласованное взаимодействие пользователя с распознаванием речи на устройстве

но

  • может быть медленным для создания новой активности с собственным окном

ИспользованиеSpeechRecognizer:

  • позволяет мне сохранить контроль над пользовательским интерфейсом в моем приложении
  • дает мне дополнительные возможности ответить на(документация)

но

  • ограничен вызовом из основного потока
  • больший контроль требует большей проверки ошибок -.
14
задан Community 23 May 2017 в 11:44
поделиться