Bagikan melalui


Tentukan bahasa pengenal ucapan

Pelajari cara memilih bahasa yang diinstal untuk digunakan untuk pengenalan ucapan.

API Penting: SupportedTopicLanguages, SupportedGrammarLanguages, Language

Di sini, kami menghitung bahasa yang diinstal pada sistem, mengidentifikasi bahasa mana yang merupakan bahasa default, dan memilih bahasa yang berbeda untuk pengenalan.

Prasyarat:

Topik ini dibangun berdasarkan Pengenalan ucapan.

Anda harus memiliki pemahaman dasar tentang pengenalan ucapan dan batasan pengenalan.

Jika Anda baru mengembangkan aplikasi Windows, lihat topik-topik ini untuk memahami teknologi yang dibahas di sini.

Panduan pengalaman pengguna:

Untuk tips bermanfaat tentang merancang aplikasi yang mendukung ucapan yang berguna dan menarik, lihat Panduan desain ucapan .

Mengidentifikasi bahasa default

Pengenal ucapan menggunakan bahasa ucapan sistem sebagai bahasa pengenalan defaultnya. Bahasa ini diatur oleh pengguna pada layar Pengaturan > Sistem Bahasa Ucapan > Sistem > Ucapan.

Kami mengidentifikasi bahasa default dengan memeriksa properti statis SystemSpeechLanguage .

var language = SpeechRecognizer.SystemSpeechLanguage; 

Mengonfirmasi bahasa yang terinstal

Bahasa yang diinstal dapat bervariasi di antara perangkat. Anda harus memverifikasi keberadaan bahasa jika Anda bergantung padanya untuk batasan tertentu.

Catatan Reboot diperlukan setelah paket bahasa baru diinstal. Pengecualian dengan kode kesalahan SPERR_NOT_FOUND (0x8004503a) dimunculkan jika bahasa yang ditentukan tidak didukung atau belum selesai diinstal.

 

Tentukan bahasa yang didukung pada perangkat dengan memeriksa salah satu dari dua properti statis kelas SpeechRecognizer :

Tentukan bahasa

Untuk menentukan bahasa, lewati objek Bahasa di konstruktor SpeechRecognizer .

Di sini, kami menentukan "en-US" sebagai bahasa pengenalan.

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

Keterangan

Batasan topik dapat dikonfigurasi dengan menambahkan SpeechRecognitionTopicConstraint ke koleksi BatasanSpeechRecognizer lalu memanggil CompileConstraintsAsync. SpeechRecognitionResultStatus dari TopicLanguageNotSupported dikembalikan jika pengenal tidak diinisialisasi dengan bahasa topik yang didukung.

Batasan daftar dikonfigurasi dengan menambahkan SpeechRecognitionListConstraint ke koleksi BatasanSpeechRecognizer lalu memanggil CompileConstraintsAsync. Anda tidak dapat menentukan bahasa daftar kustom secara langsung. Sebagai gantinya, daftar akan diproses menggunakan bahasa pengenal.

Tata bahasa SRGS adalah format XML standar terbuka yang diwakili oleh kelas SpeechRecognitionGrammarFileConstraint . Tidak seperti daftar kustom, Anda dapat menentukan bahasa tata bahasa dalam markup SRGS. CompileConstraintsAsync gagal dengan SpeechRecognitionResultStatus dari TopicLanguageNotSupported jika recognizer tidak diinisialisasi ke bahasa yang sama dengan markup SRGS.

Sampel