Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Informazioni su come selezionare una lingua installata da usare per il riconoscimento vocale.
API importanti: LingueSupportatePerArgomenti, LingueSupportatePerGrammatica, Lingua
In questo caso vengono enumerate le lingue installate in un sistema, si identifica la lingua predefinita e si seleziona una lingua diversa per il riconoscimento.
Prerequisiti:
Questo argomento si basa sul riconoscimento vocale .
È necessario avere una conoscenza di base del riconoscimento vocale e dei vincoli relativi al riconoscimento.
Se sei nuovo nello sviluppo di app per Windows, dai un'occhiata a questi argomenti per familiarizzarti con le tecnologie discusse qui.
- Creare la prima app
- Scopri gli eventi con Eventi e una panoramica sugli eventi instradati
Linee guida per l'esperienza utente:
Per suggerimenti utili sulla progettazione di un'app abilitata per il riconoscimento vocale utile e coinvolgente, vedere Linee guida per la progettazione della voce .
Identificare la lingua predefinita
Un riconoscimento vocale usa la lingua di riconoscimento vocale di sistema come lingua di riconoscimento predefinita. Nella schermata Impostazioni del dispositivo > Sistema > Voce > Lingua di sintesi vocale, la lingua è selezionata dall'utente.
È possibile identificare la lingua predefinita controllando la proprietà statica SystemSpeechLanguage.
var language = SpeechRecognizer.SystemSpeechLanguage;
Confermare una lingua installata
Le lingue installate possono variare tra i dispositivi. È consigliabile verificare l'esistenza di una lingua se si dipende da tale linguaggio per un vincolo specifico.
Nota È necessario riavviare il sistema dopo l'installazione di un nuovo pacchetto lingua. Viene generata un'eccezione con codice di errore SPERR_NOT_FOUND (0x8004503a) se la lingua specificata non è supportata o non è stata completata l'installazione.
Determinare le lingue supportate in un dispositivo controllando una delle due proprietà statiche della classe SpeechRecognizer:
- Raccolta di oggetti lingua diSupportedTopicLanguages usati con grammatiche di dettatura e ricerca web predefinite. — raccolta di oggetti linguaggio diSupportedGrammarLanguages usati con un vincolo di elenco o un file SRGS (Speech Recognition Grammar Specification).
Specificare una lingua
Per specificare una lingua, passare un oggetto Lingua nel costruttore SpeechRecognizer.
Qui si specifica "en-US" come lingua di riconoscimento.
var language = new Windows.Globalization.Language("en-US");
var recognizer = new SpeechRecognizer(language);
Osservazioni:
È possibile configurare un vincolo di argomento aggiungendo un SpeechRecognitionTopicConstraint all'insieme Constraints dell'SpeechRecognizer e quindi chiamando CompileConstraintsAsync. Viene restituito un SpeechRecognitionResultStatus di TopicLanguageNotSupported se il riconoscitore non viene inizializzato con una lingua di argomento supportata.
Un vincolo di elenco viene configurato aggiungendo un SpeechRecognitionListConstraint alla raccolta Constraints dell'SpeechRecognizer e quindi chiamando CompileConstraintsAsync. Non è possibile specificare direttamente la lingua di un elenco personalizzato. L'elenco verrà invece elaborato usando la lingua del riconoscitore.
Una grammatica SRGS è un formato XML open-standard rappresentato dalla classe SpeechRecognitionGrammarFileConstraint. A differenza degli elenchi personalizzati, è possibile specificare la lingua della grammatica nel markup SRGS. CompileConstraintsAsync ha esito negativo con un SpeechRecognitionResultStatus di TopicLanguageNotSupported se il riconoscitore non viene inizializzato nella stessa lingua del markup SRGS.
Articoli correlati
esempi di