Что такое голосовые помощники в Windows?
Приложения голосового помощника могут использовать API ConversationalAgent Windows, что позволяет реализовывать в этих приложениях все возможности голосового помощника.
Функции голосового помощника
Приложения голосового агента можно активировать с помощью произнесенного ключевого слова, и тогда вам не придется включать голосовую связь руками. Активация голосом работает при закрытии приложения и при заблокированном экране.
Кроме того, Windows предоставляет набор настроек конфиденциальности голосовой активации, которые дают пользователям возможность управлять активацией голосом и вышеуказанными блокировками для каждого приложения.
После активации голосовой связи Windows будет правильно управлять несколькими активными агентами и уведомлять каждого голосового помощника, если они прерваны или деактивированы. Это позволяет приложениям правильно управлять прерываниями и другими событиями между агентами.
Как работает активация голосом?
Среда выполнения активации агента (AAR) - это постоянно работающий процесс Windows, который управляет активацией приложения по произнесенному ключевому слову или нажатию кнопки. Он запускается вместе с Windows, если в системе есть хотя бы одно такое зарегистрированное приложение. Приложения взаимодействуют с AAR через API ConversationalAgent в Windows SDK.
Когда пользователь произносит ключевое слово, программный или аппаратный определитель ключевых слов в системе уведомляет AAR об обнаружении ключевого слова, предоставляя идентификатор ключевого слова. AAR, в свою очередь, отправляет запрос BackgroundService на запуск приложения с соответствующим идентификатором приложения.
Регистрация
При первом запуске приложения, активируемого голосом, оно регистрирует свой идентификатор приложения и информацию о ключевых словах через API ConversationalAgent. AAR регистрирует все конфигурации в глобальном сопоставлении с помощью аппаратного или программного определителя ключевых слов в системе, что позволяет им обнаруживать ключевое слово приложения. Приложение также регистрируется в фоновой службе.
Это означает, что приложение не может быть активировано голосом до тех пор, пока оно не будет запущено один раз и регистрация не будет разрешена.
Получение активации
Фоновая служба получает запрос от AAR и запускает приложение. Приложение получает сигнал через метод жизненного цикла OnBackgroundActivated App.xaml.cs
с уникальным аргументом события. Этот аргумент сообщает приложению, что оно было активировано AAR и должно начать проверку ключевых слов.
Если приложение успешно проверяет ключевое слово, оно выполнит запрос, отображаемый на переднем плане. Когда этот запрос завершается успешно, приложение отображает пользовательский интерфейс и продолжает взаимодействие с пользователем.
AAR по-прежнему сигнализирует активным приложениям, когда произносится их ключевое слово. Однако вместо того, чтобы сигнализировать через метод жизненного циклаApp.xaml.cs
, он подает сигнал через событие в API ConversationalAgent.
Проверка ключевого слова
Определитель ключевых слов, запускающий приложение, обеспечивает низкое энергопотребление за счет упрощения модели ключевых слов. Это позволяет точечный элемент ключевого слова всегда находиться без эффекта высокой мощности, но также означает, что точечный элемент ключевого слова, скорее всего, имеет большое количество "ложных приемов", где он обнаруживает ключевое слово, даже если ключевое слово не было произнесено. Вот почему система голосовой активации запускает приложение в фоновом режиме: чтобы дать приложению возможность проверить, что ключевое слово было произнесено, прежде чем прерывать текущий сеанс пользователя. AAR сохраняет звукозапись от момента за несколько секунд до того, как ключевое слово было обнаружено, и делает ее доступной для приложения. Приложение может для этой записи запустить более надежный определитель ключевых слов.
Следующие шаги
- Изучите инструкции по разработке, чтобы обеспечить наилучшие условия для активации голосом.
- См. раздел голосовых помощников на странице начала работы Windows.
- Изучите страницу Пример голосового помощника UWP и выполните инструкции, чтобы запустить пример клиента.