SpeechRecognitionEngine 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 SpeechRecognitionEngine 類別的新執行個體。
多載
SpeechRecognitionEngine() |
使用系統的預設語音辨識器,初始化 SpeechRecognitionEngine 類別的新執行個體。 |
SpeechRecognitionEngine(CultureInfo) |
使用指定之地區設定的預設語音辨識器,初始化 SpeechRecognitionEngine 類別的新執行個體。 |
SpeechRecognitionEngine(RecognizerInfo) |
使用 SpeechRecognitionEngine 物件中的資訊指定要使用的辨識器,初始化 RecognizerInfo 的新執行個體。 |
SpeechRecognitionEngine(String) |
使用字串參數指定要使用的辨識器名稱,初始化 SpeechRecognitionEngine 類別的新執行個體。 |
備註
您可以 SpeechRecognitionEngine 從下列任一項來建立實例:
系統的預設語音辨識引擎
依名稱指定的特定語音辨識引擎
您指定之地區設定的預設語音辨識引擎
符合您在物件中指定之準則的特定識別引擎 RecognizerInfo 。
在語音辨識器可以開始辨識之前,您必須先載入至少一個語音辨識文法,並設定辨識器的輸入。
若要載入文法,請呼叫 LoadGrammar 或 LoadGrammarAsync 方法。
若要設定音訊輸入,請使用下列其中一種方法:
SpeechRecognitionEngine()
使用系統的預設語音辨識器,初始化 SpeechRecognitionEngine 類別的新執行個體。
public:
SpeechRecognitionEngine();
public SpeechRecognitionEngine ();
Public Sub New ()
備註
在語音辨識器開始進行語音辨識之前,您必須先載入至少一個辨識文法,並設定辨識器的輸入。
若要載入文法,請呼叫 LoadGrammar 或 LoadGrammarAsync 方法。
若要設定音訊輸入,請使用下列其中一種方法:
適用於
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
是不因文化特性而異 (Invariant 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 和 Speech API 接受所有有效的語言國家/地區代碼。 若要使用引數中指定的語言執行語音辨識 CultureInfo
,必須安裝支援該語言國家/地區代碼的語音辨識引擎。 隨附于 Microsoft Windows 7 的語音辨識引擎會使用下列語言的國家/地區代碼。
en-GB。 英文 (英國)
en-us。 英文 (美國)
取消刪除。 德文 (德國)
es。 西班牙文 (西班牙)
fr-FR。 法文 (法國)
ja-jp。 日文 (日本)
zh-CN。 簡體中文
zh-幼圓。 中文 (台灣)
也允許兩個字母的語言代碼(例如 "en"、"fr" 或 "es")。
在語音辨識器可以開始辨識之前,您必須先載入至少一個語音辨識文法,並設定辨識器的輸入。
若要載入文法,請呼叫 LoadGrammar 或 LoadGrammarAsync 方法。
若要設定音訊輸入,請使用下列其中一種方法:
適用於
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 方法。
在語音辨識器可以開始辨識之前,您必須先載入至少一個語音辨識文法,並設定辨識器的輸入。
若要載入文法,請呼叫 LoadGrammar 或 LoadGrammarAsync 方法。
若要設定音訊輸入,請使用下列其中一種方法:
適用於
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 (英文-US) 的語音辨識器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);
}
}
}
備註
辨識器的 token 名稱是辨識 Id 器屬性所傳回之物件的屬性值 RecognizerInfo RecognizerInfo 。 若要取得所有已安裝之辨識器的集合,請使用靜態 InstalledRecognizers 方法。
在語音辨識器可以開始辨識之前,您必須先載入至少一個語音辨識文法,並設定辨識器的輸入。
若要載入文法,請呼叫 LoadGrammar 或 LoadGrammarAsync 方法。
若要設定音訊輸入,請使用下列其中一種方法: