Condividi tramite


SpeechRecognizer Classe

Definizione

Fornisce l'accesso al servizio condiviso di riconoscimento vocale disponibile sul desktop di Windows.

public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
    interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
Ereditarietà
SpeechRecognizer
Implementazioni

Esempio

L'esempio seguente fa parte di un'applicazione console che carica una grammatica di riconoscimento vocale e illustra l'input emulato asincrono, i risultati di riconoscimento associati e gli eventi associati generati dal riconoscimento vocale. Se Riconoscimento vocale Windows non è in esecuzione, l'avvio dell'applicazione avvierà anche Riconoscimento vocale Windows. Se il riconoscimento vocale di Windows è in stato di sospensione , EmulateRecognizeAsync restituisce sempre Null.

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

Commenti

Le applicazioni usano il riconoscitore condiviso per accedere al riconoscimento vocale Windows. Usare l'oggetto SpeechRecognizer per aggiungere all'esperienza utente di riconoscimento vocale di Windows.

Questa classe fornisce il controllo su vari aspetti del processo di riconoscimento vocale:

La configurazione di Riconoscimento vocale Windows viene gestita dall'uso della finestra di dialogo Proprietà voce nel Pannello di controllo. Questa interfaccia viene usata per selezionare il motore e la lingua di riconoscimento vocale desktop predefiniti, il dispositivo di input audio e il comportamento di sospensione del riconoscimento vocale. Se la configurazione di Riconoscimento vocale di Windows viene modificata durante l'esecuzione dell'applicazione, ad esempio se il riconoscimento vocale è disabilitato o la lingua di input viene modificata, la modifica influisce su tutti gli SpeechRecognizer oggetti.

Per creare un riconoscimento vocale in-process indipendente da Riconoscimento vocale Windows, usare la SpeechRecognitionEngine classe .

Nota

Chiamare Dispose sempre prima di rilasciare l'ultimo riferimento al riconoscimento vocale. In caso contrario, le risorse in uso non verranno liberate finché il Garbage Collector non chiamerà il metodo dell'oggetto Finalize recognizer.

Costruttori

SpeechRecognizer()

Inizializza una nuova istanza della classe SpeechRecognizer.

Proprietà

AudioFormat

Ottiene il formato dell'audio ricevuto dal riconoscimento vocale.

AudioLevel

Ottiene il livello dell'audio ricevuto dal riconoscimento vocale.

AudioPosition

Ottiene la posizione corrente nel flusso audio generato dal dispositivo che fornisce l'input al riconoscimento vocale.

AudioState

Ottiene lo stato dell'audio ricevuto dal riconoscimento vocale.

Enabled

Ottiene o imposta un valore che indica se l'oggetto SpeechRecognizer è pronto per l'elaborazione vocale.

Grammars

Ottiene una raccolta di oggetti Grammar caricati in questa istanza di SpeechRecognizer.

MaxAlternates

Ottiene o imposta il numero massimo di risultati del riconoscimento alternativi che il riconoscimento condiviso restituisce per ogni operazione di riconoscimento.

PauseRecognizerOnRecognition

Ottiene o imposta un valore che indica se il riconoscimento condiviso sospende le operazioni di riconoscimento quando un'applicazione gestisce un evento SpeechRecognized.

RecognizerAudioPosition

Ottiene la posizione corrente del riconoscimento nell'input audio in fase di elaborazione.

RecognizerInfo

Ottiene informazioni sul riconoscimento vocale condiviso.

State

Ottiene lo stato di un oggetto SpeechRecognizer.

Metodi

Dispose()

Elimina l'oggetto SpeechRecognizer.

Dispose(Boolean)

Elimina l'oggetto SpeechRecognizer e rilascia le risorse usate durante la sessione.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emula l'input di parole specifiche al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra le parole e le grammatiche di riconoscimento vocale caricate.

EmulateRecognize(String)

Emula l'input di una frase al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono.

EmulateRecognize(String, CompareOptions)

Emula l'input di una frase al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra la frase e le grammatiche di riconoscimento vocale caricate.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emula l'input di parole specifiche al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale asincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra le parole e le grammatiche di riconoscimento vocale caricate.

EmulateRecognizeAsync(String)

Emula l'input di una frase al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale asincrono.

EmulateRecognizeAsync(String, CompareOptions)

Emula l'input di una frase al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale asincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra la frase e le grammatiche di riconoscimento vocale caricate.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadGrammar(Grammar)

Carica una grammatica di riconoscimento vocale.

LoadGrammarAsync(Grammar)

Carica in modo asincrono una grammatica di riconoscimento vocale.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
RequestRecognizerUpdate()

Richiede la sospensione del riconoscimento condiviso e l'aggiornamento dello stato.

RequestRecognizerUpdate(Object)

Richiede la sospensione del riconoscimento condiviso, l'aggiornamento dello stato e la fornitura di un token utente per l'evento associato.

RequestRecognizerUpdate(Object, TimeSpan)

Richiede la sospensione del riconoscimento condiviso, l'aggiornamento dello stato e la fornitura di un offset e un token utente per l'evento associato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnloadAllGrammars()

Scarica tutte le grammatiche di riconoscimento vocale dal riconoscimento condiviso.

UnloadGrammar(Grammar)

Scarica una grammatica di riconoscimento vocale specificata dal riconoscimento condiviso.

Eventi

AudioLevelUpdated

Viene generato quando il riconoscimento condiviso segnala il livello del relativo input audio.

AudioSignalProblemOccurred

Viene generato quando il riconoscimento rileva un problema nel segnale audio.

AudioStateChanged

Viene generato in seguito alla modifica dello stato nell'audio ricevuto dal riconoscimento.

EmulateRecognizeCompleted

Viene generato quando il riconoscimento condiviso completa un'operazione di riconoscimento asincrona per l'input emulato.

LoadGrammarCompleted

Viene generato quando il riconoscimento termina il caricamento asincrono di una grammatica del riconoscimento vocale.

RecognizerUpdateReached

Viene generato quando il riconoscimento viene sospeso per sincronizzare il riconoscimento e altre operazioni.

SpeechDetected

Viene generato quando il riconoscimento rileva un input identificabile come funzione vocale.

SpeechHypothesized

Viene generato quando il riconoscimento ha riconosciuto le parole che possono essere componenti di più frasi complete in una grammatica.

SpeechRecognitionRejected

Viene generato quando il riconoscimento riceve un input che non corrisponde ad alcuna grammatica di riconoscimento vocale caricata.

SpeechRecognized

Viene generato quando il riconoscimento riceve un input che corrisponde a una delle relative grammatiche di riconoscimento vocale.

StateChanged

Viene generato quando lo stato di esecuzione del motore di riconoscimento della tecnologia Windows Desktop Speech viene modificato.

Si applica a

Vedi anche