指定語音辨識器語言

學習如何在你的 Windows 應用程式 SDK 應用程式中選擇已安裝的語音辨識語言。

Important

語音辨識需要 MSIX 套件的識別碼。 Windows.Media.SpeechRecognition這些 API 只有在你的應用程式以套件身份(打包或以外部位置打包)執行時才可用。 未封裝的應用程式無法使用這些 API。

主要 API

概觀

預設情況下,語音辨識器會使用已安裝的系統語言進行語音辨識。 將物件 Windows.Globalization.Language 傳給 SpeechRecognizer 建構子以選擇不同的語言。

你的應用程式應該使用使用者裝置支援的語言。 利用 SpeechRecognizer.SupportedTopicLanguages or SpeechRecognizer.SupportedGrammarLanguages 屬性來判斷可用的語言。

設定識別語言

透過將物件傳遞 Language 給 SpeechRecognizer 建構子來指定語言:

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

確定支援語言

以下範例說明如何檢查哪些主題語言被支援並顯示:

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.
}

以下範例檢查可用的文法語言:

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

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

Note

主題語言(聽寫與網頁搜尋)由線上服務處理,且不受本地語音語言包安裝限制。 文法語言(列表與 SRGS 約束)在裝置上處理,需安裝對應的語音語言包。