共用方式為


SpeechRecognitionEngine 建構函式

定義

初始化 SpeechRecognitionEngine 類別的新執行個體。

多載

名稱 Description
SpeechRecognitionEngine()

使用系統預設語音識別器初始化該類別的新實例 SpeechRecognitionEngine

SpeechRecognitionEngine(CultureInfo)

使用預設語音識別器初始化該類別的新實例 SpeechRecognitionEngine ,針對指定地點。

SpeechRecognitionEngine(RecognizerInfo)

初始化一個新的實例,使用 SpeechRecognitionEngine 物件中的 RecognizerInfo 資訊來指定要使用的識別器。

SpeechRecognitionEngine(String)

初始化一個新的類別實例 SpeechRecognitionEngine ,並以字串參數指定要使用的識別器名稱。

備註

你可以從以下任一條件構建實 SpeechRecognitionEngine 例:

  • 系統的預設語音辨識引擎

  • 一個你指定名稱的特定語音辨識引擎

  • 你指定的地點預設語音辨識引擎

  • 一個符合你在物件中 RecognizerInfo 指定的條件的特定識別引擎。

在語音辨識器開始辨識之前,你必須至少載入一個語音辨識文法並設定辨識器的輸入。

要載入文法,請呼叫 or LoadGrammarLoadGrammarAsync 方法。

要設定音訊輸入,請使用以下其中一種方法:

SpeechRecognitionEngine()

來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs

使用系統預設語音識別器初始化該類別的新實例 SpeechRecognitionEngine

public:
 SpeechRecognitionEngine();
public SpeechRecognitionEngine();
Public Sub New ()

備註

在語音辨識器開始語音辨識之前,你必須載入至少一個辨識文法並設定辨識器的輸入。

要載入文法,請呼叫 or LoadGrammarLoadGrammarAsync 方法。

要設定音訊輸入,請使用以下其中一種方法:

適用於

SpeechRecognitionEngine(CultureInfo)

來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs

使用預設語音識別器初始化該類別的新實例 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 說是不變的文化。

Culturenull

範例

以下範例展示了一個主控台應用程式的一部分,展示基本語音辨識,並為 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.cs
來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs

初始化一個新的實例,使用 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.cs
來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs

初始化一個新的類別實例 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 是空字串(“”)。

recognizerIdnull

範例

以下範例展示了一個主控台應用程式的一部分,展示基本語音辨識,並建立 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 方法。

要設定音訊輸入,請使用以下其中一種方法:

適用於