Condividi tramite


SpeechRecognitionEngine.Recognize Metodo

Definizione

Avvia un'operazione sincrona di riconoscimento vocale.

Overload

Recognize()

Effettua un'operazione sincrona di riconoscimento vocale.

Recognize(TimeSpan)

Effettua un'operazione sincrona di riconoscimento vocale con un periodo di timeout di inattività iniziale specificato.

Commenti

Questi metodi eseguono un'unica operazione di riconoscimento sincrona. Il riconoscimento esegue questa operazione con le grammatica di riconoscimento vocale caricate e abilitate.

Durante una chiamata a questo metodo, il riconoscimento può generare gli eventi seguenti:

Il riconoscimento non genera l'evento RecognizeCompleted quando si usa uno dei Recognize metodi.

I Recognize metodi restituiscono un RecognitionResult oggetto oppure null se l'operazione non ha esito positivo o il riconoscimento non è abilitato.

Un'operazione di riconoscimento sincrona può non riuscire per i motivi seguenti:

  • Il riconoscimento vocale non viene rilevato prima della scadenza degli intervalli di timeout per le BabbleTimeout proprietà o InitialSilenceTimeout o per il initialSilenceTimeout parametro del Recognize metodo.

  • Il motore di riconoscimento rileva la voce, ma non trova corrispondenze in uno dei relativi oggetti caricati e abilitati Grammar .

Per modificare la modalità di gestione del riconoscimento vocale o del silenzio rispetto al riconoscimento, usare le BabbleTimeoutproprietà , InitialSilenceTimeoutEndSilenceTimeout, e EndSilenceTimeoutAmbiguous .

L'oggetto SpeechRecognitionEngine deve avere almeno un Grammar oggetto caricato prima di eseguire il riconoscimento. Per caricare una grammatica di riconoscimento vocale, usare il LoadGrammar metodo o LoadGrammarAsync .

Per eseguire il riconoscimento asincrono, usare uno dei RecognizeAsync metodi.

Recognize()

Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs

Effettua un'operazione sincrona di riconoscimento vocale.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize();
public System.Speech.Recognition.RecognitionResult Recognize ();
member this.Recognize : unit -> System.Speech.Recognition.RecognitionResult
Public Function Recognize () As RecognitionResult

Restituisce

Il risultato di riconoscimento per l'input, o null se l'operazione non riesce o il riconoscimento non è abilitato.

Esempio

Nell'esempio seguente viene illustrata parte di un'applicazione console che illustra il riconoscimento vocale di base. L'esempio crea un DictationGrammaroggetto , lo carica in un riconoscimento vocale in-process ed esegue un'operazione di riconoscimento vocale.

using System;  
using System.Speech.Recognition;  

namespace SynchronousRecognition  
{  
  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());  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Modify the initial silence time-out value.  
        recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5);  

        // Start synchronous speech recognition.  
        RecognitionResult result = recognizer.Recognize();  

        if (result != null)  
        {  
          Console.WriteLine("Recognized text = {0}", result.Text);  
        }  
        else  
        {  
          Console.WriteLine("No recognition result available.");  
        }  
      }  

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

Commenti

Questo metodo esegue una singola operazione di riconoscimento. Il riconoscimento esegue questa operazione con le grammatica di riconoscimento vocale caricate e abilitate.

Durante una chiamata a questo metodo, il riconoscimento può generare gli eventi seguenti:

Il riconoscimento non genera l'evento RecognizeCompleted quando si usa questo metodo.

Il Recognize() metodo restituisce un RecognitionResult oggetto o null se l'operazione non ha esito positivo.

Un'operazione di riconoscimento sincrona può non riuscire per i motivi seguenti:

  • Il riconoscimento vocale non viene rilevato prima della scadenza degli intervalli di timeout per le BabbleTimeout proprietà o InitialSilenceTimeout .

  • Il motore di riconoscimento rileva la voce, ma non trova corrispondenze in uno dei relativi oggetti caricati e abilitati Grammar .

Per eseguire il riconoscimento asincrono, usare uno dei RecognizeAsync metodi.

Vedi anche

Si applica a

Recognize(TimeSpan)

Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs

Effettua un'operazione sincrona di riconoscimento vocale con un periodo di timeout di inattività iniziale specificato.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize(TimeSpan initialSilenceTimeout);
public System.Speech.Recognition.RecognitionResult Recognize (TimeSpan initialSilenceTimeout);
member this.Recognize : TimeSpan -> System.Speech.Recognition.RecognitionResult
Public Function Recognize (initialSilenceTimeout As TimeSpan) As RecognitionResult

Parametri

initialSilenceTimeout
TimeSpan

L'intervallo di tempo in cui un riconoscimento vocale accetta l'input contenente solo il silenzio prima di finalizzare il riconoscimento.

Restituisce

Il risultato di riconoscimento per l'input, o null se l'operazione non riesce o il riconoscimento non è abilitato.

Esempio

Nell'esempio seguente viene illustrata parte di un'applicazione console che illustra il riconoscimento vocale di base. L'esempio crea un DictationGrammaroggetto , lo carica in un riconoscimento vocale in-process ed esegue un'operazione di riconoscimento vocale.

using System;  
using System.Speech.Recognition;  

namespace SynchronousRecognition  
{  
  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());  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Start synchronous speech recognition.  
        RecognitionResult result = recognizer.Recognize(TimeSpan.FromSeconds(5));  

        if (result != null)  
        {  
          Console.WriteLine("Recognized text = {0}", result.Text);  
        }  
        else  
        {  
          Console.WriteLine("No recognition result available.");  
        }  
      }  

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

Commenti

Se il motore di riconoscimento vocale rileva la voce all'interno dell'intervallo di tempo specificato dall'argomento initialSilenceTimeout , Recognize(TimeSpan) esegue un'unica operazione di riconoscimento e quindi termina. Il initialSilenceTimeout parametro sostituisce la proprietà del InitialSilenceTimeout riconoscimento.

Durante una chiamata a questo metodo, il riconoscimento può generare gli eventi seguenti:

Il riconoscimento non genera l'evento RecognizeCompleted quando si usa questo metodo.

Il Recognize() metodo restituisce un RecognitionResult oggetto o null se l'operazione non ha esito positivo.

Un'operazione di riconoscimento sincrona può non riuscire per i motivi seguenti:

  • Il riconoscimento vocale non viene rilevato prima della scadenza degli intervalli di timeout per BabbleTimeout o per il initialSilenceTimeout parametro.

  • Il motore di riconoscimento rileva la voce, ma non trova corrispondenze in uno dei relativi oggetti caricati e abilitati Grammar .

Per eseguire il riconoscimento asincrono, usare uno dei RecognizeAsync metodi.

Vedi anche

Si applica a