SpeechRecognitionEngine 類別

定義

提供方法來存取和管理處理中的語音辨識引擎。

public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
    interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
繼承
SpeechRecognitionEngine
實作

範例

下列範例顯示的部分主控台應用程式會示範基本的語音辨識。 因為此範例會使用 Multiple 方法的模式 RecognizeAsync ,所以會執行辨識直到您關閉主控台視窗或停止偵錯工具為止。

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);  
    }  
  }  
}  

備註

您可以針對任何已安裝的語音辨識器,建立此類別的實例。 若要取得已安裝哪些辨識器的相關資訊,請使用靜態 InstalledRecognizers 方法。

此類別適用于在進程中執行語音辨識引擎,並可讓您控制各種不同層面的語音辨識,如下所示:

SpeechRecognitionEngine物件是用來唯一使用具現化物件的進程。 相反地,會 SpeechRecognizer 與任何想要使用它的應用程式共用單一辨識器。

注意

Dispose 您釋出語音辨識器的最後一個參考之前,請務必先呼叫。 否則,在垃圾收集行程呼叫辨識器物件的方法之前,將不會釋放它所使用的資源 Finalize

建構函式

SpeechRecognitionEngine()

使用系統的預設語音辨識器,初始化 SpeechRecognitionEngine 類別的新執行個體。

SpeechRecognitionEngine(CultureInfo)

使用指定之地區設定的預設語音辨識器,初始化 SpeechRecognitionEngine 類別的新執行個體。

SpeechRecognitionEngine(RecognizerInfo)

使用 SpeechRecognitionEngine 物件中的資訊指定要使用的辨識器,初始化 RecognizerInfo 的新執行個體。

SpeechRecognitionEngine(String)

使用字串參數指定要使用的辨識器名稱,初始化 SpeechRecognitionEngine 類別的新執行個體。

屬性

AudioFormat

取得 SpeechRecognitionEngine 所接收的音訊格式。

AudioLevel

取得 SpeechRecognitionEngine 所接收的音訊層級。

AudioPosition

取得提供 SpeechRecognitionEngine 輸入的裝置正在產生的音訊資料流中目前的位置。

AudioState

取得 SpeechRecognitionEngine 所接收的音訊狀態。

BabbleTimeout

取得或設定完成辨識前 SpeechRecognitionEngine 接受只包含背景雜訊之輸入的時間間隔。

EndSilenceTimeout

取得或設定靜默無聲間隔,SpeechRecognitionEngine 會在意義明確輸入的結尾接受這段間隔的無聲輸入,然後才完成辨識作業。

EndSilenceTimeoutAmbiguous

取得或設定靜默無聲間隔,SpeechRecognitionEngine 會在模稜兩可輸入的結尾接受這段間隔的無聲輸入,然後才完成辨識作業。

Grammars

取得在這個 Grammar 執行個體中載入之 SpeechRecognitionEngine 物件的集合。

InitialSilenceTimeout

取得或設定完成辨識前 SpeechRecognitionEngine 接受只包含靜音之輸入的時間間隔。

MaxAlternates

取得或設定 SpeechRecognitionEngine 為每個辨識作業傳回之替代辨識結果的最大數目。

RecognizerAudioPosition

取得 SpeechRecognitionEngine 正在處理的音訊輸入的目前位置。

RecognizerInfo

取得關於目前 SpeechRecognitionEngine 執行個體的資訊。

方法

Dispose()

處置 SpeechRecognitionEngine 物件。

Dispose(Boolean)

處置 SpeechRecognitionEngine 物件,並釋放工作階段期間所使用的資源。

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

在語音辨識器上模擬特定單字輸入,針對同步的語音辨識使用文字取代音訊,並指定辨識器如何處理單字間的 Unicode 比較以及已載入的語音辨識文法。

EmulateRecognize(String)

在共用的語音辨識器上模擬片語輸入,針對同步的語音辨識使用文字來代替音訊。

EmulateRecognize(String, CompareOptions)

在語音辨識器上模擬片語輸入,針對同步的語音辨識使用文字來代替音訊,並指定辨識器如何處理片語間的 Unicode 比較以及已載入的語音辨識文法。

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

在語音辨識器上模擬特定單字輸入,針對非同步的語音辨識使用 RecognizedWordUnit 物件陣列以取代音訊,並指定辨識器如何處理單字間的 Unicode 比較以及已載入的語音辨識文法。

EmulateRecognizeAsync(String)

在語音辨識器上模擬片語輸入,針對非同步的語音辨識使用文字來代替音訊。

EmulateRecognizeAsync(String, CompareOptions)

在語音辨識器上模擬片語輸入,針對非同步的語音辨識使用文字來代替音訊,並指定辨識器如何處理片語間的 Unicode 比較以及已載入的語音辨識文法。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InstalledRecognizers()

傳回目前的系統上所有已安裝的語音辨識器的資訊。

LoadGrammar(Grammar)

同步載入 Grammar 物件。

LoadGrammarAsync(Grammar)

以非同步方式載入語音辨識文法。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
QueryRecognizerSetting(String)

傳回辨識器的設定值。

Recognize()

執行同步語音辨識作業。

Recognize(TimeSpan)

使用指定的初始靜音逾時期限,執行同步語音辨識作業。

RecognizeAsync()

執行單一、非同步語音辨識作業。

RecognizeAsync(RecognizeMode)

執行一項或多項非同步語音辨識作業。

RecognizeAsyncCancel()

結束非同步辨識,而不等待目前辨識作業完成。

RecognizeAsyncStop()

在目前的辨識作業完成後,停止非同步辨識。

RequestRecognizerUpdate()

要求辨識器暫停以更新其狀態。

RequestRecognizerUpdate(Object)

要求辨識器暫停以更新其狀態,並提供相關聯事件的使用者語彙基元。

RequestRecognizerUpdate(Object, TimeSpan)

要求辨識器暫停以更新其狀態,並提供相關聯事件的位移和使用者語彙基元。

SetInputToAudioStream(Stream, SpeechAudioFormatInfo)

設定SpeechRecognitionEngine物件,以接收來自音訊資料流的輸入。

SetInputToDefaultAudioDevice()

設定SpeechRecognitionEngine物件,以接收來自預設音訊裝置的輸入。

SetInputToNull()

停用語音辨識器的輸入。

SetInputToWaveFile(String)

設定SpeechRecognitionEngine物件,以接收來自波形音訊格式 (.wav) 檔案的輸入。

SetInputToWaveStream(Stream)

設定SpeechRecognitionEngine物件,以接收來自包含波形音訊格式 (.wav) 資料的資料流的輸入。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
UnloadAllGrammars()

從辨識器卸載所有 Grammar 物件。

UnloadGrammar(Grammar)

Grammar 執行個體卸載指定的 SpeechRecognitionEngine 物件。

UpdateRecognizerSetting(String, Int32)

以指定的整數值更新 SpeechRecognitionEngine 的指定設定。

UpdateRecognizerSetting(String, String)

以指定的字串值來更新指定的語音辨識引擎設定。

事件

AudioLevelUpdated

SpeechRecognitionEngine 報告其音訊輸入層級時引發。

AudioSignalProblemOccurred

SpeechRecognitionEngine 偵測到音訊訊號問題時引發。

AudioStateChanged

SpeechRecognitionEngine 所接收的音訊變更狀態時引發。

EmulateRecognizeCompleted

SpeechRecognitionEngine 完成模擬輸入的非同步辨識作業時引發。

LoadGrammarCompleted

SpeechRecognitionEngine 完成 Grammar 物件的非同步載入時引發。

RecognizeCompleted

SpeechRecognitionEngine 完成非同步辨識作業時引發。

RecognizerUpdateReached

當執行中的 SpeechRecognitionEngine 暫停以接受修改時引發。

SpeechDetected

SpeechRecognitionEngine 偵測到可辨識為語音的輸入時引發。

SpeechHypothesized

SpeechRecognitionEngine 已辨識的文字可能是文法中多個完整片語的元件時引發。

SpeechRecognitionRejected

SpeechRecognitionEngine 收到的輸入不符合任何其已載入且已啟用 Grammar 物件時引發。

SpeechRecognized

SpeechRecognitionEngine 收到的輸入符合任何其已載入且已啟用 Grammar 物件時引發。

適用於

另請參閱