Freigeben über


SpeechRecognitionEngine Konstruktoren

Definition

Initialisiert eine neue Instanz der SpeechRecognitionEngine-Klasse.

Überlädt

Name Beschreibung
SpeechRecognitionEngine()

Initialisiert eine neue Instanz der Klasse mithilfe der SpeechRecognitionEngine Standardspracherkennung für das System.

SpeechRecognitionEngine(CultureInfo)

Initialisiert eine neue Instanz der Klasse mithilfe der SpeechRecognitionEngine Standardspracherkennung für ein angegebenes Gebietsschema.

SpeechRecognitionEngine(RecognizerInfo)

Initialisiert eine neue Instanz der Verwendung der SpeechRecognitionEngine Informationen in einem RecognizerInfo Objekt, um die zu verwendende Erkennung anzugeben.

SpeechRecognitionEngine(String)

Initialisiert eine neue Instanz der SpeechRecognitionEngine Klasse mit einem Zeichenfolgenparameter, der den Namen der zu verwendenden Erkennung angibt.

Hinweise

Sie können eine SpeechRecognitionEngine Instanz aus einer der folgenden Komponenten erstellen:

  • Das Standarderkennungsmodul für die Spracherkennung für das System

  • Ein bestimmtes Spracherkennungsmodul, das Sie anhand des Namens angeben

  • Das standardspracherkennungsmodul für ein gebietsschema, das Sie angeben

  • Ein bestimmtes Erkennungsmodul, das die kriterien erfüllt, die Sie in einem RecognizerInfo Objekt angeben.

Bevor die Spracherkennung mit der Erkennung beginnen kann, müssen Sie mindestens eine Grammatik für die Spracherkennung laden und die Eingabe für die Erkennung konfigurieren.

Rufen Sie zum Laden einer Grammatik die LoadGrammar Methode auf LoadGrammarAsync .

Verwenden Sie zum Konfigurieren der Audioeingabe eine der folgenden Methoden:

SpeechRecognitionEngine()

Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs

Initialisiert eine neue Instanz der Klasse mithilfe der SpeechRecognitionEngine Standardspracherkennung für das System.

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

Hinweise

Bevor die Spracherkennung mit der Spracherkennung beginnen kann, müssen Sie mindestens eine Erkennungsgrammatik laden und die Eingabe für die Erkennung konfigurieren.

Rufen Sie zum Laden einer Grammatik die LoadGrammar Methode auf LoadGrammarAsync .

Verwenden Sie zum Konfigurieren der Audioeingabe eine der folgenden Methoden:

Gilt für:

SpeechRecognitionEngine(CultureInfo)

Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs

Initialisiert eine neue Instanz der Klasse mithilfe der SpeechRecognitionEngine Standardspracherkennung für ein angegebenes Gebietsschema.

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)

Parameter

culture
CultureInfo

Das Gebietsschema, das die Spracherkennung unterstützen muss.

Ausnahmen

Keiner der installierten Spracherkennungen unterstützt das angegebene Gebietsschema oder culture ist die invariante Kultur.

Culture ist null.

Beispiele

Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht und eine Spracherkennung für das gebietsschema en-US initialisiert.

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

Hinweise

Microsoft Windows und die System.Speech-API akzeptieren alle gültigen Sprachlandcodes. Um die Spracherkennung mithilfe der im CultureInfo Argument angegebenen Sprache durchzuführen, muss ein Spracherkennungsmodul installiert werden, das diesen Ländercode unterstützt. Die spracherkennungsmodule, die mit Microsoft Windows 7 ausgeliefert wurden, funktionieren mit den folgenden Sprachlandcodes.

  • en-GB. Walisisch (Großbritannien)

  • en-US. Englisch (Vereinigte Staaten)

  • de-DE. Deutsch (Deutschland)

  • es-ES. Spanisch (Spanien)

  • fr-FR. Französisch (Frankreich)

  • ja-JP. Japanisch (Japan)

  • zh-CN Chinesisch (China)

  • zh-TW. Chinesisch (Taiwan)

Zwei-Buchstaben-Sprachcodes wie "en", "fr" oder "es" sind ebenfalls zulässig.

Bevor die Spracherkennung mit der Erkennung beginnen kann, müssen Sie mindestens eine Grammatik für die Spracherkennung laden und die Eingabe für die Erkennung konfigurieren.

Rufen Sie zum Laden einer Grammatik die LoadGrammar Methode auf LoadGrammarAsync .

Verwenden Sie zum Konfigurieren der Audioeingabe eine der folgenden Methoden:

Gilt für:

SpeechRecognitionEngine(RecognizerInfo)

Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs

Initialisiert eine neue Instanz der Verwendung der SpeechRecognitionEngine Informationen in einem RecognizerInfo Objekt, um die zu verwendende Erkennung anzugeben.

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)

Parameter

recognizerInfo
RecognizerInfo

Die Informationen für die spezifische Spracherkennung.

Beispiele

Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht und eine Spracherkennung initialisiert, die die englische Sprache unterstützt.

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

Hinweise

Sie können eine Instanz dieser Klasse für jede der installierten Spracherkennungen erstellen. Verwenden Sie die InstalledRecognizers Methode, um Informationen zu den installierten Erkennungen abzurufen.

Bevor die Spracherkennung mit der Erkennung beginnen kann, müssen Sie mindestens eine Grammatik für die Spracherkennung laden und die Eingabe für die Erkennung konfigurieren.

Rufen Sie zum Laden einer Grammatik die LoadGrammar Methode auf LoadGrammarAsync .

Verwenden Sie zum Konfigurieren der Audioeingabe eine der folgenden Methoden:

Gilt für:

SpeechRecognitionEngine(String)

Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs
Quelle:
SpeechRecognitionEngine.cs

Initialisiert eine neue Instanz der SpeechRecognitionEngine Klasse mit einem Zeichenfolgenparameter, der den Namen der zu verwendenden Erkennung angibt.

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)

Parameter

recognizerId
String

Der Tokenname der zu verwendenden Spracherkennung.

Ausnahmen

Es ist keine Spracherkennung mit diesem Tokennamen installiert oder recognizerId die leere Zeichenfolge ("").

recognizerId ist null.

Beispiele

Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht und eine Instanz der Spracherkennung 8.0 für Windows (Englisch - USA) erstellt.

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

Hinweise

Der Tokenname der Erkennung ist der Wert der Id Eigenschaft des Objekts, das RecognizerInfo von der RecognizerInfo Eigenschaft der Erkennung zurückgegeben wird. Verwenden Sie die statische InstalledRecognizers Methode, um eine Auflistung aller installierten Erkennungen abzurufen.

Bevor die Spracherkennung mit der Erkennung beginnen kann, müssen Sie mindestens eine Grammatik für die Spracherkennung laden und die Eingabe für die Erkennung konfigurieren.

Rufen Sie zum Laden einer Grammatik die LoadGrammar Methode auf LoadGrammarAsync .

Verwenden Sie zum Konfigurieren der Audioeingabe eine der folgenden Methoden:

Gilt für: