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 zugeordneten 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 Ruhezustand befindet, EmulateRecognizeAsync gibt immer NULL zurück.

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-Sprachbenutzeroberfläche hinzuzufügen.

Diese Klasse bietet Kontrolle über verschiedene Aspekte des Spracherkennungsprozesses:

Die Konfiguration der Windows-Spracherkennung wird mithilfe des Dialogfelds Spracheigenschaften im Systemsteuerung verwaltet. Diese Schnittstelle wird verwendet, um die Standardmäßige Desktop-Spracherkennungs-Engine und -Sprache, das Audioeingabegerät und das Ruhezustandsverhalten der Spracherkennung auszuwählen. Wenn die Konfiguration der Windows-Spracherkennung während der Ausführung der Anwendung geändert wird (bei instance, wenn die Spracherkennung deaktiviert oder die Eingabesprache geändert wird), wirkt sich die Änderung auf alle SpeechRecognizer Objekte aus.

Verwenden Sie die -Klasse, um eine prozessinterne Spracherkennung zu erstellen, die von der SpeechRecognitionEngine Windows-Spracherkennung unabhängig 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

SpeechRecognizer()

Initialisiert eine neue Instanz der SpeechRecognizer-Klasse.

Eigenschaften

AudioFormat

Ruft das Audioformat ab, das von der Spracherkennung empfangen wird.

AudioLevel

Ruft den Level des Audiosignals ab, das von der Spracherkennung empfangen wird.

AudioPosition

Ruft die aktuelle Position im Audiostream ab, die durch das Gerät generiert wird, das die Spracherkennung mit Eingaben versorgt.

AudioState

Ruft den Status des von der Spracherkennung empfangenen Audiosignals ab.

Enabled

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob dieses SpeechRecognizer-Objekt für die Sprachverarbeitung bereit ist.

Grammars

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

MaxAlternates

Ruft die Höchstzahl alternativer Erkennungsergebnisse ab, welche die gemeinsame Erkennung für jeden Erkennungsvorgang zurückgibt, oder legt diese fest.

PauseRecognizerOnRecognition

Ruft einen Wert ab, bzw. legt diesen fest, der angibt, ob das gemeinsame Erkennungsmodul Erkennungsvorgänge anhält, während eine Anwendung ein SpeechRecognized-Ereignis verarbeitet.

RecognizerAudioPosition

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

RecognizerInfo

Ruft Informationen über die freigegebene Spracherkennung ab.

State

Ruft den Zustand eines SpeechRecognizer-Objekts ab.

Methoden

Dispose()

Gibt das SpeechRecognizer-Objekt frei.

Dispose(Boolean)

Verwirft das SpeechRecognizer-Objekt und gibt Ressourcen frei, die während der Sitzung verwendet werden.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emuliert die Eingabe bestimmter Wörter für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen den Wörtern und den geladenen Spracherkennungsgrammatiken behandelt.

EmulateRecognize(String)

Emuliert die Eingabe eines Ausdrucks für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet.

EmulateRecognize(String, CompareOptions)

Emuliert die Eingabe eines Ausdrucks für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen dem Ausdruck und den geladenen Spracherkennungsgrammatiken behandelt.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emuliert die Eingabe bestimmter Wörter für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen den Wörtern und den geladenen Spracherkennungsgrammatiken behandelt.

EmulateRecognizeAsync(String)

Emuliert die Eingabe eines Ausdrucks für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet.

EmulateRecognizeAsync(String, CompareOptions)

Emuliert die Eingabe eines Ausdrucks für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen dem Ausdruck und den geladenen Spracherkennungsgrammatiken behandelt.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadGrammar(Grammar)

Lädt eine Spracherkennungsgrammatik.

LoadGrammarAsync(Grammar)

Lädt asynchron eine Spracherkennungsgrammatik.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
RequestRecognizerUpdate()

Fordert an, dass die freigegebene Erkennung anhält und ihren Zustand aktualisiert.

RequestRecognizerUpdate(Object)

Fordert an, dass die freigegebene Erkennung anhält, um den Zustand zu aktualisieren und stellt ein Benutzertoken für das zugeordnete Ereignis bereit.

RequestRecognizerUpdate(Object, TimeSpan)

Fordert an, dass die freigegebene Erkennung anhält, um den Zustand zu aktualisieren und stellt ein Offset für das zugeordnete Ereignis bereit.

ToString()

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

(Geerbt von Object)
UnloadAllGrammars()

Entlädt alle Spracherkennungsgrammatiken aus dem freigegebenen Erkennungsmodul.

UnloadGrammar(Grammar)

Entlädt eine angegebene Spracherkennungsgrammatik aus dem freigegebenen Erkennungsmodul.

Ereignisse

AudioLevelUpdated

Tritt auf, wenn die freigegebene Erkennung die Ebene ihrer Audioeingabe meldet.

AudioSignalProblemOccurred

Tritt auf, wenn in der Erkennung ein Problem beim Audiosignal auftritt.

AudioStateChanged

Tritt bei Zustandsänderungen im Audio auf, das von der Erkennung empfangen wird.

EmulateRecognizeCompleted

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

LoadGrammarCompleted

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

RecognizerUpdateReached

Tritt auf, wenn die Erkennung anhält, um Erkennungs- und andere Vorgänge zu synchronisieren.

SpeechDetected

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

SpeechHypothesized

Tritt auf, wenn die Erkennung ein Wort oder Wörter erkannt hat, die möglicherweise eine Komponente von mehreren vollständigen Ausdrücken in einer Grammatik sind.

SpeechRecognitionRejected

Tritt auf, wenn die Erkennung Eingaben empfängt, die mit keiner der Spracherkennungsgrammatiken übereinstimmen, die sie geladen hat.

SpeechRecognized

Tritt auf, wenn die Erkennung Eingaben empfängt, die mit einer ihrer Spracherkennungsgrammatiken übereinstimmen.

StateChanged

Tritt auf, wenn sich der Ausführzustand der Erkennungs-Engine von Windows Desktop Speech Technology ändert.

Gilt für:

Weitere Informationen