Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się, jak wybrać zainstalowany język do użycia na potrzeby rozpoznawania mowy.
ważne interfejsy API: ObsługiwaneJęzykiTematyczne, ObsługiwaneJęzykiGramatyczne, Język
W tym miejscu wyliczymy języki zainstalowane w systemie, określimy język domyślny i wybierzemy inny język do rozpoznawania.
Wymagania wstępne:
Ten temat opiera się na rozpoznawaniu mowy.
Powinieneś mieć podstawową wiedzę na temat rozpoznawania mowy i jego ograniczeń.
Jeśli dopiero zaczynasz programować aplikacje systemu Windows, zapoznaj się z tymi tematami, aby zapoznać się z technologiami omówionymi tutaj.
- Tworzenie pierwszej aplikacji
- Dowiedz się więcej o zdarzeniach dzięki przeglądowi zdarzeń oraz zdarzeń kierowanych.
wskazówki dotyczące doświadczenia użytkownika :
Aby uzyskać przydatne porady dotyczące projektowania przydatnej i atrakcyjnej aplikacji obsługującej mowę, zobacz Wskazówki dotyczące projektowania mowy .
Identyfikowanie języka domyślnego
Rozpoznawanie mowy używa systemowego języka mowy jako domyślnego języka rozpoznawania. Ten język jest ustawiany przez użytkownika na ekranie ustawień urządzenia > System > Mowa > Język mowy.
Identyfikujemy język domyślny, sprawdzając właściwość statyczną SystemSpeechLanguage.
var language = SpeechRecognizer.SystemSpeechLanguage;
Potwierdzanie zainstalowanego języka
Zainstalowane języki mogą się różnić między urządzeniami. Należy sprawdzić istnienie języka, jeśli zależy od niego dla określonego ograniczenia.
Uwaga Ponowne uruchomienie jest wymagane po zainstalowaniu nowego pakietu językowego. Zgłaszany jest wyjątek z kodem błędu SPERR_NOT_FOUND (0x8004503a), jeśli określony język nie jest obsługiwany lub nie zakończył instalacji.
Określ obsługiwane języki na urządzeniu, sprawdzając jedną z dwóch statycznych właściwości klasy SpeechRecognizer:
SupportedTopicLanguages— kolekcja obiektów Language używanych ze wstępnie zdefiniowanymi gramatykami dyktowania i wyszukiwania w Internecie.
SupportedGrammarLanguages— kolekcja obiektów językowych używanych z ograniczeniem listy lub plikiem specyfikacji gramatyki rozpoznawania mowy (SRGS).
Określanie języka
Aby określić język, przekaż obiekt Language do konstruktora SpeechRecognizer.
W tym miejscu określamy "en-US" jako język rozpoznawania.
var language = new Windows.Globalization.Language("en-US");
var recognizer = new SpeechRecognizer(language);
Uwagi
Ograniczenie tematu można skonfigurować, dodając SpeechRecognitionTopicConstraint do kolekcji Constraints obiektu SpeechRecognizer, a następnie wywołując CompileConstraintsAsync. Zostanie zwrócona SpeechRecognitionResultStatusTopicLanguageNotSupported, jeśli rozpoznawanie nie zostało zainicjowane przy użyciu obsługiwanego języka tematu.
Ograniczenie listy jest konfigurowane przez dodanie SpeechRecognitionListConstraint do kolekcji Constraints, a następnie wywoływanie CompileConstraintsAsyncw ramach SpeechRecognizer. Nie można bezpośrednio określić języka listy niestandardowej. Zamiast tego lista zostanie przetworzona przy użyciu języka rozpoznawania.
Gramatyka SRGS jest otwartym standardowym formatem XML reprezentowanym przez klasę SpeechRecognitionGrammarFileConstraint. W przeciwieństwie do list niestandardowych, można określić język gramatyki w znaczniku SRGS. CompileConstraintsAsync kończy się niepowodzeniem z SpeechRecognitionResultStatusTopicLanguageNotSupported, jeśli rozpoznawanie nie zostało zainicjowane w tym samym języku co znacznikI SRGS.
Powiązane artykuły
Próbki
Windows developer