Freigeben über


SpeechRecognitionEngine Klasse

Definition

Bietet die Möglichkeit, auf ein prozessinternes Spracherkennungsmodul zuzugreifen und diese zu verwalten.

public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
    interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
Vererbung
SpeechRecognitionEngine
Implementiert

Beispiele

Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht. Da in diesem Beispiel der Multiple Modus der RecognizeAsync Methode verwendet wird, wird die Erkennung erst ausgeführt, wenn Sie das Konsolenfenster schließen oder das Debuggen beenden.

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

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

Diese Klasse dient zum Ausführen von Spracherkennungsmodulen im Prozess und bietet die Kontrolle über verschiedene Aspekte der Spracherkennung wie folgt:

Das SpeechRecognitionEngine Objekt dient der alleinigen Verwendung des Prozesses, der das Objekt instanziiert hat. Im Gegensatz dazu wird eine einzelne Erkennung für jede Anwendung freigegeben, SpeechRecognizer die sie verwenden möchte.

Hinweis

Rufen Sie immer auf Dispose , bevor Sie Ihren letzten Verweis auf die Spracherkennung freigeben. Andernfalls werden die verwendeten Ressourcen erst freigegeben, wenn der Garbage Collector die Methode des Erkennungsobjekts Finalize aufruft.

Konstruktoren

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.

Eigenschaften

Name Beschreibung
AudioFormat

Ruft das Format der Audiodaten ab, die von der SpeechRecognitionEngine.

AudioLevel

Ruft die Ebene der Audiodaten ab, die von der SpeechRecognitionEngine.

AudioPosition

Ruft die aktuelle Position im Audiodatenstrom ab, der vom Gerät generiert wird, das Eingaben für die SpeechRecognitionEngine.

AudioState

Ruft den Status der Audiodaten ab, die von der SpeechRecognitionEngine.

BabbleTimeout

Dient zum Abrufen oder Festlegen des Zeitintervalls, in dem eine SpeechRecognitionEngine Eingabe nur Hintergrundgeräusche enthält, bevor die Erkennung abgeschlossen wird.

EndSilenceTimeout

Dient zum Abrufen oder Festlegen des Intervalls der Stille, das das SpeechRecognitionEngine Ende der eindeutigen Eingabe akzeptiert, bevor ein Erkennungsvorgang abgeschlossen wird.

EndSilenceTimeoutAmbiguous

Ruft ab oder legt das Intervall der Stille fest, das am SpeechRecognitionEngine Ende der mehrdeutigen Eingabe akzeptiert wird, bevor ein Erkennungsvorgang abgeschlossen wird.

Grammars

Ruft eine Auflistung der Objekte ab, die Grammar in dieser SpeechRecognitionEngine Instanz geladen werden.

InitialSilenceTimeout

Dient zum Abrufen oder Festlegen des Zeitintervalls, in dem eine SpeechRecognitionEngine Eingabe nur Stille enthält, bevor die Erkennung abgeschlossen wird.

MaxAlternates

Dient zum Abrufen oder Festlegen der maximalen Anzahl von alternativen Erkennungsergebnissen, die für SpeechRecognitionEngine jeden Erkennungsvorgang zurückgegeben werden.

RecognizerAudioPosition

Ruft die aktuelle Position der SpeechRecognitionEngine in der Audioeingabe verarbeiteten Audioeingabe ab.

RecognizerInfo

Ruft Informationen zur aktuellen Instanz von SpeechRecognitionEngine.

Methoden

Name Beschreibung
Dispose()

Entfernt das SpeechRecognitionEngine Objekt.

Dispose(Boolean)

Entfernt das SpeechRecognitionEngine Objekt und gibt ressourcen frei, die während der Sitzung verwendet werden.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emuliert die Eingabe bestimmter Wörter an die Spracherkennung, wobei Text anstelle von Audio für die synchrone Spracherkennung verwendet wird, und gibt an, wie die Erkennung unicode-Vergleich zwischen den Wörtern und der geladenen Spracherkennungsgrammatik behandelt.

EmulateRecognize(String, CompareOptions)

Emuliert die Eingabe eines Ausdrucks an die Spracherkennung, wobei Text anstelle von Audio für die synchrone Spracherkennung verwendet wird, und gibt an, wie die Erkennung unicode-Vergleich zwischen dem Ausdruck und der geladenen Spracherkennungsgrammatik behandelt.

EmulateRecognize(String)

Emuliert die Eingabe eines Ausdrucks an die Spracherkennung, wobei Text anstelle von Audio für die synchrone Spracherkennung verwendet wird.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emuliert die Eingabe bestimmter Wörter an die Spracherkennung, wobei ein Array von Objekten anstelle von RecognizedWordUnit Audio für asynchrone Spracherkennung verwendet wird, und gibt an, wie die Erkennung unicode-Vergleich zwischen den Wörtern und der geladenen Spracherkennungsgrammatik behandelt.

EmulateRecognizeAsync(String, CompareOptions)

Emuliert die Eingabe eines Ausdrucks an die Spracherkennung, wobei Text anstelle von Audio für asynchrone Spracherkennung verwendet wird, und gibt an, wie die Erkennung unicode-Vergleich zwischen dem Ausdruck und der geladenen Spracherkennungsgrammatik behandelt.

EmulateRecognizeAsync(String)

Emuliert die Eingabe eines Ausdrucks an die Spracherkennung, wobei Text anstelle von Audio für die asynchrone Spracherkennung verwendet wird.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InstalledRecognizers()

Gibt Informationen für alle installierten Spracherkennungen im aktuellen System zurück.

LoadGrammar(Grammar)

Lädt ein Grammar Objekt synchron.

LoadGrammarAsync(Grammar)

Lädt asynchron eine Spracherkennungsgrammatik.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
QueryRecognizerSetting(String)

Gibt die Werte der Einstellungen für die Erkennung zurück.

Recognize()

Führt einen synchronen Spracherkennungsvorgang aus.

Recognize(TimeSpan)

Führt einen synchronen Spracherkennungsvorgang mit einem angegebenen anfänglichen Stille-Timeoutzeitraum aus.

RecognizeAsync()

Führt einen einzelnen, asynchronen Spracherkennungsvorgang aus.

RecognizeAsync(RecognizeMode)

Führt einen oder mehrere asynchrone Spracherkennungsvorgänge aus.

RecognizeAsyncCancel()

Beendet die asynchrone Erkennung, ohne auf den Abschluss des aktuellen Erkennungsvorgangs zu warten.

RecognizeAsyncStop()

Beendet die asynchrone Erkennung nach Abschluss des aktuellen Erkennungsvorgangs.

RequestRecognizerUpdate()

Fordert an, dass die Erkennung angehalten wird, um den Zustand zu aktualisieren.

RequestRecognizerUpdate(Object, TimeSpan)

Fordert an, dass die Erkennung angehalten wird, um den Zustand zu aktualisieren, und stellt einen Offset und ein Benutzertoken für das zugeordnete Ereignis bereit.

RequestRecognizerUpdate(Object)

Fordert an, dass die Erkennung angehalten wird, um den Zustand zu aktualisieren und ein Benutzertoken für das zugeordnete Ereignis bereitstellt.

SetInputToAudioStream(Stream, SpeechAudioFormatInfo)

Konfiguriert das Objekt für den SpeechRecognitionEngine Empfang von Eingaben aus einem Audiodatenstrom.

SetInputToDefaultAudioDevice()

Konfiguriert das SpeechRecognitionEngine Objekt, um Eingaben vom Standardaudiogerät zu empfangen.

SetInputToNull()

Deaktiviert die Eingabe für die Spracherkennung.

SetInputToWaveFile(String)

Konfiguriert das SpeechRecognitionEngine Objekt, um Eingaben aus einer Waveform-Audioformatdatei (.wav) zu empfangen.

SetInputToWaveStream(Stream)

Konfiguriert das SpeechRecognitionEngine Objekt, um Eingaben aus einem Datenstrom zu empfangen, der Daten im Waveform-Audioformat (.wav) enthält.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
UnloadAllGrammars()

Hebt alle Grammar Objekte aus der Erkennung auf.

UnloadGrammar(Grammar)

Hebt ein angegebenes Grammar Objekt aus der SpeechRecognitionEngine Instanz auf.

UpdateRecognizerSetting(String, Int32)

Aktualisiert die angegebene Einstellung für die SpeechRecognitionEngine mit dem angegebenen ganzzahligen Wert.

UpdateRecognizerSetting(String, String)

Aktualisiert die angegebene Einstellung des Spracherkennungsmoduls mit dem angegebenen Zeichenfolgenwert.

Ereignisse

Name Beschreibung
AudioLevelUpdated

Wird ausgelöst, wenn die SpeechRecognitionEngine Ebene der Audioeingabe gemeldet wird.

AudioSignalProblemOccurred

Wird ausgelöst, wenn das SpeechRecognitionEngine Problem im Audiosignal erkannt wird.

AudioStateChanged

Wird ausgelöst, wenn sich der Zustand in den empfangenen Audiodaten SpeechRecognitionEngineändert.

EmulateRecognizeCompleted

Wird ausgelöst, wenn der SpeechRecognitionEngine Abschluss eines asynchronen Erkennungsvorgangs der emulierten Eingabe erfolgt.

LoadGrammarCompleted

Wird ausgelöst, wenn das SpeechRecognitionEngine asynchrone Laden eines Grammar Objekts abgeschlossen ist.

RecognizeCompleted

Wird ausgelöst, wenn der SpeechRecognitionEngine Asynchrone Erkennungsvorgang abgeschlossen wird.

RecognizerUpdateReached

Wird ausgelöst, wenn eine laufende SpeechRecognitionEngine Unterbrechung angehalten wird, um Änderungen zu akzeptieren.

SpeechDetected

Wird ausgelöst, wenn die SpeechRecognitionEngine Eingabe erkannt wird, die als Sprache identifiziert werden kann.

SpeechHypothesized

Wird ausgelöst, wenn das SpeechRecognitionEngine Wort oder wörter erkannt hat, die eine Komponente mehrerer vollständiger Ausdrücke in einer Grammatik sein können.

SpeechRecognitionRejected

Wird ausgelöst, wenn die Eingabe empfangen wird, die SpeechRecognitionEngine keinem der geladenen und aktivierten Grammar Objekte entspricht.

SpeechRecognized

Wird ausgelöst, wenn die SpeechRecognitionEngine Eingabe mit einem der geladenen und aktivierten Grammar Objekte übereinstimmt.

Gilt für:

Weitere Informationen