Freigeben über


SpeechRecognizer Klasse

Definition

Bietet Zugriff auf den freigegebenen Spracherkennungsdienst, der auf dem Windows-Desktop verfügbar ist.

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

Beispiele

Das folgende Beispiel ist Teil einer Konsolenanwendung, die eine Spracherkennungsgrammatik lädt und asynchrone emulierte Eingaben, die zugehörigen Erkennungsergebnisse und die zugehörigen Ereignisse veranschaulicht, die von der Spracherkennung ausgelöst werden. Wenn die Windows-Spracherkennung nicht ausgeführt wird, startet diese Anwendung auch die Windows-Spracherkennung. Wenn sich die Windows-Spracherkennung im Zustand "Schlafen" befindet, wird EmulateRecognizeAsync immer NULL zurückgegeben.

using System;
using System.Speech.Recognition;
using System.Threading;

namespace SharedRecognizer
{
  class Program
  {

    // Indicate whether the asynchronous emulate recognition
    // operation has completed.
    static bool completed;

    static void Main(string[] args)
    {

      // Initialize an instance of the shared recognizer.
      using (SpeechRecognizer recognizer = new SpeechRecognizer())
      {

        // Create and load a sample grammar.
        Grammar testGrammar =
          new Grammar(new GrammarBuilder("testing testing"));
        testGrammar.Name = "Test Grammar";
        recognizer.LoadGrammar(testGrammar);

        // Attach event handlers for recognition events.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(
            SpeechRecognizedHandler);
        recognizer.EmulateRecognizeCompleted +=
          new EventHandler<EmulateRecognizeCompletedEventArgs>(
            EmulateRecognizeCompletedHandler);

        completed = false;

        // Start asynchronous emulated recognition.
        // This matches the grammar and generates a SpeechRecognized event.
        recognizer.EmulateRecognizeAsync("testing testing");

        // Wait for the asynchronous operation to complete.
        while (!completed)
        {
          Thread.Sleep(333);
        }

        completed = false;

        // Start asynchronous emulated recognition.
        // This does not match the grammar or generate a SpeechRecognized event.
        recognizer.EmulateRecognizeAsync("testing one two three");

        // Wait for the asynchronous operation to complete.
        while (!completed)
        {
          Thread.Sleep(333);
        }
      }

      Console.WriteLine();
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }

    // Handle the SpeechRecognized event.
    static void SpeechRecognizedHandler(
      object sender, SpeechRecognizedEventArgs e)
    {
      if (e.Result != null)
      {
        Console.WriteLine("Recognition result = {0}",
          e.Result.Text ?? "<no text>");
      }
      else
      {
        Console.WriteLine("No recognition result");
      }
    }

    // Handle the SpeechRecognizeCompleted event.
    static void EmulateRecognizeCompletedHandler(
      object sender, EmulateRecognizeCompletedEventArgs e)
    {
      if (e.Result == null)
      {
        Console.WriteLine("No result generated.");
      }

      // Indicate the asynchronous operation is complete.
      completed = true;
    }
  }
}

Hinweise

Anwendungen verwenden die freigegebene Erkennung, um auf die Windows-Spracherkennung zuzugreifen. Verwenden Sie das SpeechRecognizer Objekt, um der Windows-Spracherkennungs-Benutzeroberfläche hinzuzufügen.

Diese Klasse bietet Kontrolle über verschiedene Aspekte des Spracherkennungsprozesses:

Die Konfiguration der Windows-Spracherkennung wird mithilfe des Dialogfelds " Spracheigenschaften " in der Systemsteuerung verwaltet. Diese Schnittstelle wird verwendet, um das Standardmodul für die Desktop-Spracherkennung und -sprache, das Audioeingabegerät und das Standbyverhalten der Spracherkennung auszuwählen. Wenn die Konfiguration der Windows-Spracherkennung während der Ausführung der Anwendung geändert wird (z. B. wenn die Spracherkennung deaktiviert oder die Eingabesprache geändert wird), wirkt sich die Änderung auf alle SpeechRecognizer Objekte aus.

Verwenden Sie die SpeechRecognitionEngine Klasse, um eine prozessinterne Spracherkennung zu erstellen, die unabhängig von der Windows-Spracherkennung ist.

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
SpeechRecognizer()

Initialisiert eine neue Instanz der SpeechRecognizer-Klasse.

Eigenschaften

Name Beschreibung
AudioFormat

Ruft das Format der Audiodaten ab, die von der Spracherkennung empfangen werden.

AudioLevel

Ruft die Audioebene ab, die von der Spracherkennung empfangen wird.

AudioPosition

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

AudioState

Ruft den Status der Audiodaten ab, die von der Spracherkennung empfangen werden.

Enabled

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob dieses SpeechRecognizer Objekt zum Verarbeiten der Spracherkennung bereit ist.

Grammars

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

MaxAlternates

Ruft die maximale Anzahl von alternativen Erkennungsergebnissen ab, die die freigegebene Erkennung für jeden Erkennungsvorgang zurückgibt, oder legt diese fest.

PauseRecognizerOnRecognition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die freigegebene Erkennung Erkennung Erkennungsvorgänge angehalten, während eine Anwendung ein SpeechRecognized Ereignis behandelt.

RecognizerAudioPosition

Ruft die aktuelle Position der Erkennung in der Audioeingabe ab, die verarbeitet wird.

RecognizerInfo

Ruft Informationen zur freigegebenen Spracherkennung ab.

State

Ruft den Status eines SpeechRecognizer -Objekts ab.

Methoden

Name Beschreibung
Dispose()

Entfernt das SpeechRecognizer Objekt.

Dispose(Boolean)

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

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emuliert die Eingabe bestimmter Wörter an die freigegebene 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 freigegebene 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 in die freigegebene Spracherkennung, wobei Text anstelle von Audio für die synchrone Spracherkennung verwendet wird.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emuliert die Eingabe bestimmter Wörter an die freigegebene Spracherkennung, wobei Text anstelle von Audio für die 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 freigegebene Spracherkennung, wobei Text anstelle von Audio für die 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 freigegebene 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)
LoadGrammar(Grammar)

Lädt eine Grammatik für die Spracherkennung.

LoadGrammarAsync(Grammar)

Lädt asynchron eine Spracherkennungsgrammatik.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
RequestRecognizerUpdate()

Fordert an, dass die freigegebene Erkennung angehalten und den Status aktualisiert.

RequestRecognizerUpdate(Object, TimeSpan)

Fordert an, dass die freigegebene Erkennung angehalten und den Zustand aktualisiert und einen Offset und ein Benutzertoken für das zugeordnete Ereignis bereitstellt.

RequestRecognizerUpdate(Object)

Fordert an, dass die freigegebene Erkennung angehalten und den Zustand aktualisiert und ein Benutzertoken für das zugeordnete Ereignis bereitstellt.

ToString()

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

(Geerbt von Object)
UnloadAllGrammars()

Hebt alle Spracherkennungsgrammatiken aus der freigegebenen Erkennung auf.

UnloadGrammar(Grammar)

Entlädt eine angegebene Spracherkennungsgrammatik aus der freigegebenen Erkennung.

Ereignisse

Name Beschreibung
AudioLevelUpdated

Tritt auf, wenn die freigegebene Erkennung die Audioeingabeebene meldet.

AudioSignalProblemOccurred

Tritt auf, wenn bei der Erkennung ein Problem im Audiosignal auftritt.

AudioStateChanged

Tritt auf, wenn sich der Zustand in den Audiodaten ändert, die von der Erkennung empfangen werden.

EmulateRecognizeCompleted

Tritt auf, wenn die freigegebene Erkennung einen asynchronen Erkennungsvorgang für emulierte Eingaben abgeschlossen.

LoadGrammarCompleted

Tritt auf, wenn die Erkennung das asynchrone Laden einer Spracherkennungsgrammatik beendet.

RecognizerUpdateReached

Tritt auf, wenn die Erkennung angehalten wird, um die Erkennung und andere Vorgänge zu synchronisieren.

SpeechDetected

Tritt auf, wenn die Erkennung Eingabe erkennt, die sie als Sprache identifizieren kann.

SpeechHypothesized

Tritt auf, wenn die Erkennung ein Wort oder wörter erkannt hat, das eine Komponente mehrerer vollständiger Ausdrücke in einer Grammatik sein kann.

SpeechRecognitionRejected

Tritt auf, wenn die Erkennung Eingaben empfängt, die keiner der von ihr geladenen Grammatiken der Spracherkennung entsprechen.

SpeechRecognized

Tritt auf, wenn die Erkennung Eingaben empfängt, die einer seiner Spracherkennungsgrammatiken entsprechen.

StateChanged

Tritt auf, wenn sich der Ausführungsstatus des Windows Desktop Speech Technology-Erkennungsmoduls ändert.

Gilt für:

Weitere Informationen