Condividi tramite


SpeechRecognitionEngine.Recognize Metodo

Definizione

Avvia un'operazione di riconoscimento vocale sincrono.

Overload

Nome Descrizione
Recognize()

Esegue un'operazione di riconoscimento vocale sincrono.

Recognize(TimeSpan)

Esegue un'operazione di riconoscimento vocale sincrono con un periodo di timeout di silenzio iniziale specificato.

Commenti

Questi metodi eseguono una singola operazione di riconoscimento sincrono. Il riconoscitore esegue questa operazione sulle grammatiche di riconoscimento vocale caricate e abilitate.

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

Il riconoscitore 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 riesce o il riconoscimento non è abilitato.

Un'operazione di riconoscimento sincrono 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 il riconoscimento vocale, ma non trova corrispondenze nei relativi oggetti caricati e abilitati Grammar .

Per modificare il modo in cui il riconoscimento gestisce la tempistica del parlato o del silenzio rispetto al riconoscimento, usare le BabbleTimeoutproprietà , InitialSilenceTimeoutEndSilenceTimeout, e EndSilenceTimeoutAmbiguous .

Deve SpeechRecognitionEngine 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
Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs

Esegue un'operazione di riconoscimento vocale sincrono.

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

Risultato del riconoscimento per l'input o null se l'operazione non riesce o il riconoscitore non è abilitato.

Esempio

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

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 riconoscitore esegue questa operazione sulle grammatiche di riconoscimento vocale caricate e abilitate.

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

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

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

Un'operazione di riconoscimento sincrono 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 il riconoscimento vocale, ma non trova corrispondenze nei 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
Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs

Esegue un'operazione di riconoscimento vocale sincrono con un periodo di timeout di silenzio 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 input contenente solo il silenzio prima di finalizzare il riconoscimento.

Restituisce

Risultato del riconoscimento per l'input o null se l'operazione non riesce o il riconoscitore non è abilitato.

Esempio

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

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 entro l'intervallo di tempo specificato dall'argomento initialSilenceTimeout , Recognize(TimeSpan) esegue una singola operazione di riconoscimento e quindi termina. Il initialSilenceTimeout parametro sostituisce la proprietà del InitialSilenceTimeout riconoscitore.

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

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

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

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

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

  • Il motore di riconoscimento rileva il riconoscimento vocale, ma non trova corrispondenze nei relativi oggetti caricati e abilitati Grammar .

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

Vedi anche

Si applica a