Especificar o idioma do reconhecedor de fala

Saiba como selecionar um idioma instalado para reconhecimento de fala em seu aplicativo SDK do Aplicativo Windows.

Importante

O reconhecimento de fala requer a identidade do pacote MSIX. As APIs Windows.Media.SpeechRecognition estão disponíveis apenas quando seu aplicativo é executado com identidade de pacote (empacotado ou empacotado com localização externa). Aplicativos não empacotados não podem usar essas APIs.

APIs de chave

Visão geral

Por padrão, o reconhecedor de fala usa a linguagem do sistema instalada para reconhecimento de fala. Passe um Windows.Globalization.Language objeto para o SpeechRecognizer construtor para selecionar um idioma diferente.

Seu aplicativo deve usar um idioma com suporte no dispositivo do usuário. Use a propriedade SpeechRecognizer.SupportedTopicLanguages ou SpeechRecognizer.SupportedGrammarLanguages para determinar quais idiomas estão disponíveis.

Definir o idioma de reconhecimento

Especifique o idioma passando um Language objeto para o SpeechRecognizer construtor:

var language = new Windows.Globalization.Language("en-US");
var speechRecognizer = new Windows.Media.SpeechRecognition.SpeechRecognizer(language);

Determinar idiomas com suporte

O exemplo a seguir mostra como verificar quais idiomas de tópico têm suporte e exibi-los:

var topicLanguages = Windows.Media.SpeechRecognition.SpeechRecognizer.SupportedTopicLanguages;

foreach (var lang in topicLanguages)
{
    var languageTag = lang.LanguageTag;
    var displayName = lang.DisplayName;
    // Present these to the user for selection.
}

O exemplo a seguir verifica quais idiomas gramaticais estão disponíveis:

var grammarLanguages = Windows.Media.SpeechRecognition.SpeechRecognizer.SupportedGrammarLanguages;

foreach (var lang in grammarLanguages)
{
    var languageTag = lang.LanguageTag;
    var displayName = lang.DisplayName;
}

Note

Os idiomas de tópico (ditado e pesquisa na Web) são processados por um serviço online e não dependem de quais pacotes de idioma de fala estejam instalados localmente. As linguagens gramaticais (restrições de lista e SRGS) são processadas no dispositivo e exigem que o pacote de idiomas de fala correspondente seja instalado.