Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Découvrez comment sélectionner une langue installée à utiliser pour la reconnaissance vocale.
API importantes: supportedTopicLanguages, SupportedGrammarLanguages, Language
Ici, nous énumérons les langues installées sur un système, identifiez la langue par défaut et sélectionnez une autre langue pour la reconnaissance.
Configuration requise :
Cette rubrique s’appuie sur reconnaissance vocale.
Vous devez avoir une compréhension de base de la reconnaissance vocale et des contraintes associées.
Si vous débutez avec le développement d’applications Windows, consultez ces rubriques pour vous familiariser avec les technologies présentées ici.
- Créer votre première application
- En savoir plus sur les événements avec Events et la vue d'ensemble des événements routés
Directives relatives à l’expérience utilisateur :
Pour obtenir des conseils utiles sur la conception d’une application prenant en charge la reconnaissance vocale utile et attrayante, consultez instructions de conception Speech.
Identifier la langue par défaut
Un module de reconnaissance vocale utilise la langue vocale système comme langue de reconnaissance par défaut. Cette langue est définie par l'utilisateur sur l'écran Paramètres de l'appareil > Système > Voix > Langue de la voix.
Nous identifions la langue par défaut en vérifiant la propriété statique SystemSpeechLanguage
var language = SpeechRecognizer.SystemSpeechLanguage;
Confirmer une langue installée
Les langues installées peuvent varier entre les appareils. Vous devez vérifier l’existence d’une langue si vous en dépendez pour une contrainte particulière.
Remarque Un redémarrage est requis après l’installation d’un nouveau module linguistique. Une exception avec le code d’erreur SPERR_NOT_FOUND (0x8004503a) est levée si la langue spécifiée n’est pas prise en charge ou n’a pas encore été entièrement installée.
Déterminez les langues prises en charge sur un appareil en vérifiant l’une des deux propriétés statiques de la classe SpeechRecognizer :
SupportedTopicLanguages: collection d’objets Language utilisés avec des grammaires de dictée et de recherche sur le web prédéfinies.
SupportedGrammarLanguages: collection d’objets Language utilisés avec une contrainte de liste ou un fichier SRGS (Speech Recognition Grammar Specification).
Spécifier une langue
Pour spécifier une langue, transmettez un objet Language dans le constructeur SpeechRecognizer.
Ici, nous spécifions «en-US» comme langue de reconnaissance.
var language = new Windows.Globalization.Language("en-US");
var recognizer = new SpeechRecognizer(language);
Remarques
Une contrainte de rubrique peut être configurée en ajoutant une SpeechRecognitionTopicConstraint à la collection Constraints de la SpeechRecognizer, puis en appelant CompileConstraintsAsync. Une SpeechRecognitionResultStatus de TopicLanguageNotSupported est retournée si le module de reconnaissance n'est pas initialisé avec une langue thématique prise en charge.
Une contrainte de liste est configurée en ajoutant une
Une grammaire SRGS est un format XML open standard représenté par la classe SpeechRecognitionGrammarFileConstraint. Contrairement aux listes personnalisées, vous pouvez spécifier la langue de la grammaire dans le balisage SRGS. CompileConstraintsAsync échoue avec une SpeechRecognitionResultStatus de TopicLanguageNotSupported si le module de reconnaissance n’est pas initialisé dans le même langage que le balisage SRGS.
Articles connexes
Échantillons
Windows developer