SpeechRecognitionEngine 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 SpeechRecognitionEngine 類別的新執行個體。
多載
| 名稱 | Description |
|---|---|
| SpeechRecognitionEngine() |
使用系統預設語音識別器初始化該類別的新實例 SpeechRecognitionEngine 。 |
| SpeechRecognitionEngine(CultureInfo) |
使用預設語音識別器初始化該類別的新實例 SpeechRecognitionEngine ,針對指定地點。 |
| SpeechRecognitionEngine(RecognizerInfo) |
初始化一個新的實例,使用 SpeechRecognitionEngine 物件中的 RecognizerInfo 資訊來指定要使用的識別器。 |
| SpeechRecognitionEngine(String) |
初始化一個新的類別實例 SpeechRecognitionEngine ,並以字串參數指定要使用的識別器名稱。 |
備註
你可以從以下任一條件構建實 SpeechRecognitionEngine 例:
系統的預設語音辨識引擎
一個你指定名稱的特定語音辨識引擎
你指定的地點預設語音辨識引擎
一個符合你在物件中 RecognizerInfo 指定的條件的特定識別引擎。
在語音辨識器開始辨識之前,你必須至少載入一個語音辨識文法並設定辨識器的輸入。
要載入文法,請呼叫 or LoadGrammarLoadGrammarAsync 方法。
要設定音訊輸入,請使用以下其中一種方法:
SpeechRecognitionEngine()
使用系統預設語音識別器初始化該類別的新實例 SpeechRecognitionEngine 。
public:
SpeechRecognitionEngine();
public SpeechRecognitionEngine();
Public Sub New ()
備註
在語音辨識器開始語音辨識之前,你必須載入至少一個辨識文法並設定辨識器的輸入。
要載入文法,請呼叫 or LoadGrammarLoadGrammarAsync 方法。
要設定音訊輸入,請使用以下其中一種方法:
適用於
SpeechRecognitionEngine(CultureInfo)
使用預設語音識別器初始化該類別的新實例 SpeechRecognitionEngine ,針對指定地點。
public:
SpeechRecognitionEngine(System::Globalization::CultureInfo ^ culture);
public SpeechRecognitionEngine(System.Globalization.CultureInfo culture);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Globalization.CultureInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (culture As CultureInfo)
參數
- culture
- CultureInfo
語音辨識器必須支援的地點。
例外狀況
安裝的語音辨識器都不支援指定地點,或者 culture 說是不變的文化。
Culture 為 null。
範例
以下範例展示了一個主控台應用程式的一部分,展示基本語音辨識,並為 en-US 區域初始化語音辨識器。
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (
SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
備註
Microsoft Windows 與 System.Speech API 接受所有有效的語言國家代碼。 若要使用參數中 CultureInfo 指定的語言進行語音辨識,必須安裝支援該語言-國家代碼的語音辨識引擎。 隨 Microsoft Windows 7 附帶的語音辨識引擎可支援以下語言國家代碼。
en-GB。 英文 (英國)
en-US。 英文 (美國)
de-DE。 德文 (德國)
es-ES。 西班牙文 (西班牙)
fr-FR。 法文 (法國)
ja-JP。 日文 (日本)
zh-CN。 中文 (中國)
zh-TW。 中文 (台灣)
也允許使用如「en」、「fr」或「es」等雙字母語言代碼。
在語音辨識器開始辨識之前,你必須至少載入一個語音辨識文法並設定辨識器的輸入。
要載入文法,請呼叫 or LoadGrammarLoadGrammarAsync 方法。
要設定音訊輸入,請使用以下其中一種方法:
適用於
SpeechRecognitionEngine(RecognizerInfo)
初始化一個新的實例,使用 SpeechRecognitionEngine 物件中的 RecognizerInfo 資訊來指定要使用的識別器。
public:
SpeechRecognitionEngine(System::Speech::Recognition::RecognizerInfo ^ recognizerInfo);
public SpeechRecognitionEngine(System.Speech.Recognition.RecognizerInfo recognizerInfo);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Speech.Recognition.RecognizerInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerInfo As RecognizerInfo)
參數
- recognizerInfo
- RecognizerInfo
針對特定語音辨識器的資訊。
範例
以下範例展示了一個主控台應用程式的一部分,該應用程式展示了基本的語音辨識,並初始化了一個支援英語的語音辨識器。
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Select a speech recognizer that supports English.
RecognizerInfo info = null;
foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers())
{
if (ri.Culture.TwoLetterISOLanguageName.Equals("en"))
{
info = ri;
break;
}
}
if (info == null) return;
// Create the selected recognizer.
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(info))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
備註
你可以為任何已安裝的語音辨識器建立這個類別的實例。 要查詢安裝了哪些識別器,請使用該 InstalledRecognizers 方法。
在語音辨識器開始辨識之前,你必須至少載入一個語音辨識文法並設定辨識器的輸入。
要載入文法,請呼叫 or LoadGrammarLoadGrammarAsync 方法。
要設定音訊輸入,請使用以下其中一種方法:
適用於
SpeechRecognitionEngine(String)
初始化一個新的類別實例 SpeechRecognitionEngine ,並以字串參數指定要使用的識別器名稱。
public:
SpeechRecognitionEngine(System::String ^ recognizerId);
public SpeechRecognitionEngine(string recognizerId);
new System.Speech.Recognition.SpeechRecognitionEngine : string -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerId As String)
參數
- recognizerId
- String
語音識別器的標記名稱。
例外狀況
沒有安裝帶有該標記名稱的語音識別器,或 recognizerId 是空字串(“”)。
recognizerId 為 null。
範例
以下範例展示了一個主控台應用程式的一部分,展示基本語音辨識,並建立 Windows 語音識別器 8.0(英文-美式)實例。
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Create an instance of the Microsoft Speech Recognizer 8.0 for
// Windows (English - US).
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine("MS-1033-80-DESK"))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized += new EventHandler(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
備註
識別器的標記名稱是識別RecognizerInfo器屬性回傳物件屬性RecognizerInfo的值Id。 要收集所有已安裝的識別器,請使用靜態 InstalledRecognizers 方法。
在語音辨識器開始辨識之前,你必須至少載入一個語音辨識文法並設定辨識器的輸入。
要載入文法,請呼叫 or LoadGrammarLoadGrammarAsync 方法。
要設定音訊輸入,請使用以下其中一種方法: