Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как выбрать установленный язык для распознавания речи.
Важные API: ПоддерживаемыеTopicLanguages, ПоддерживаемыеGrammarLanguages, Language
Здесь мы перечислим языки, установленные в системе, идентифицируем язык по умолчанию и выбираем другой язык для распознавания.
Необходимые условия:
Этот раздел опирается на распознавание речи.
Вы должны иметь базовое представление об ограничениях и распознавании речи.
Если вы не знакомы с разработкой приложений Windows, ознакомьтесь с этими разделами, чтобы ознакомиться с технологиями, описанными здесь.
- Создание первого приложения
- Узнайте о событиях и маршрутизации событий с помощью Обзор событий
Рекомендации по работе с пользователем:
Для полезных советов по проектированию полезного и вовлекающего приложения с поддержкой речи см. в руководствах по проектированию речи .
Определение языка по умолчанию
Распознаватель речи использует системный язык речи в качестве языка распознавания по умолчанию. Этот язык устанавливается пользователем на экране "Параметры устройства" > "Система" > "Речь" > язык речи.
Мы определяем язык по умолчанию, проверяя статическое свойство SystemSpeechLanguage .
var language = SpeechRecognizer.SystemSpeechLanguage;
Подтверждение установленного языка
Установленные языки могут различаться между устройствами. Необходимо проверить наличие языка, если он зависит от определенного ограничения.
Заметка Перезагрузка требуется после установки нового языкового пакета. Исключение с кодом ошибки SPERR_NOT_FOUND (0x8004503a) возникает, если указанный язык не поддерживается или не завершена установка.
Определите поддерживаемые языки на устройстве, проверив одно из двух статических свойств класса SpeechRecognizer :
SupportedTopicLanguages— коллекция языковых объектов , используемых с предопределенной диктовкой и грамматиками веб-поиска.
поддерживаемых языков грамматик— коллекция объектов языка , используемых с ограничением списка или файлом спецификации грамматики для распознавания речи (SRGS).
Указание языка
Чтобы указать язык, передайте объект Language в конструкторе SpeechRecognizer .
Здесь мы указываем "en-US" в качестве языка распознавания.
var language = new Windows.Globalization.Language("en-US");
var recognizer = new SpeechRecognizer(language);
Замечания
Ограничение темы можно настроить, добавив SpeechRecognitionTopicConstraint в коллекцию Constraints, а затем вызвать CompileConstraintsAsyncдля коллекции SpeechRecognizer. Возвращается статусРезультатаРаспознаванияРечиTopicLanguageNotSupported, если распознаватель не инициализирован поддерживаемым языком темы.
Ограничение списка настраивается путем добавления SpeechRecognitionListConstraint в коллекцию ограничений SpeechRecognizer, а затем вызова CompileConstraintsAsync. Невозможно указать язык настраиваемого списка напрямую. Вместо этого список будет обработан с помощью языка распознавателя.
Грамматика SRGS — это формат XML с открытым стандартом, представленный классом SpeechRecognitionGrammarFileConstraint . В отличие от пользовательских списков, можно указать язык грамматики в разметке SRGS. Компиляция ConstraintsAsync завершатся с ошибкой SpeechRecognitionResultStatusTopicLanguageNotSupported, если распознаватель не инициализирован на тот же язык, что и разметка SRGS.
Связанные статьи
Образцы
Windows developer