Partager via


SpeechRecognitionEngine.Recognize Méthode

Définition

Démarre une opération de reconnaissance vocale synchrone.

Surcharges

Recognize()

Effectue une opération de reconnaissance vocale synchrone.

Recognize(TimeSpan)

Effectue une opération de reconnaissance vocale synchrone avec un délai d'attente de silence initial spécifié.

Remarques

Ces méthodes effectuent une opération de reconnaissance synchrone unique. Le module de reconnaissance effectue cette opération par rapport à ses grammaires de reconnaissance vocale chargées et activées.

Lors d’un appel à cette méthode, le module de reconnaissance peut déclencher les événements suivants :

  • SpeechDetected. Déclenché lorsque le module de reconnaissance détecte une entrée qu’il peut identifier en tant que reconnaissance vocale.

  • SpeechHypothesized. Déclenché lorsque l’entrée crée une correspondance ambiguë avec l’une des grammaires actives.

  • SpeechRecognitionRejected ou SpeechRecognized. Déclenché lorsque le module de reconnaissance finalise une opération de reconnaissance.

Le module de reconnaissance ne déclenche pas l’événement lors de l’utilisation RecognizeCompleted de l’une Recognize des méthodes.

Les Recognize méthodes retournent un RecognitionResult objet, ou null si l’opération échoue ou si le module de reconnaissance n’est pas activé.

Une opération de reconnaissance synchrone peut échouer pour les raisons suivantes :

  • La reconnaissance vocale n’est pas détectée avant l’expiration des intervalles de délai d’expiration pour les BabbleTimeout propriétés ou InitialSilenceTimeout pour le initialSilenceTimeout paramètre de la Recognize méthode.

  • Le moteur de reconnaissance détecte la parole vocale, mais ne trouve aucune correspondance dans ses objets chargés et activés Grammar .

Pour modifier la façon dont l’outil de reconnaissance gère le minutage de la parole ou du silence en ce qui concerne la reconnaissance, utilisez les BabbleTimeoutpropriétés , InitialSilenceTimeout, EndSilenceTimeoutet EndSilenceTimeoutAmbiguous .

Le doit avoir au moins un objet chargé avant d’effectuer Grammar la SpeechRecognitionEngine reconnaissance. Pour charger une grammaire de reconnaissance vocale, utilisez la LoadGrammar méthode ou LoadGrammarAsync .

Pour effectuer la reconnaissance asynchrone, utilisez l’une des RecognizeAsync méthodes .

Recognize()

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

Effectue une opération de reconnaissance vocale synchrone.

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

Retours

Résultat de la reconnaissance pour l'entrée ou null si l'opération n'est pas réussie ou que le module de reconnaissance n'est pas activé.

Exemples

L’exemple suivant montre une partie d’une application console qui illustre la reconnaissance vocale de base. L’exemple crée un DictationGrammar, le charge dans un module de reconnaissance vocale in-process et effectue une opération de reconnaissance.

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

Remarques

Cette méthode effectue une opération de reconnaissance unique. Le module de reconnaissance effectue cette opération par rapport à ses grammaires de reconnaissance vocale chargées et activées.

Lors d’un appel à cette méthode, le module de reconnaissance peut déclencher les événements suivants :

  • SpeechDetected. Déclenché lorsque le module de reconnaissance détecte une entrée qu’il peut identifier en tant que reconnaissance vocale.

  • SpeechHypothesized. Déclenché lorsque l’entrée crée une correspondance ambiguë avec l’une des grammaires actives.

  • SpeechRecognitionRejected ou SpeechRecognized. Déclenché lorsque le module de reconnaissance finalise une opération de reconnaissance.

Le module de reconnaissance ne déclenche pas l’événement lors de l’utilisation RecognizeCompleted de cette méthode.

La Recognize() méthode retourne un RecognitionResult objet, ou null si l’opération n’a pas réussi.

Une opération de reconnaissance synchrone peut échouer pour les raisons suivantes :

  • La voix n’est pas détectée avant l’expiration des intervalles de délai d’expiration pour les BabbleTimeout propriétés ou InitialSilenceTimeout .

  • Le moteur de reconnaissance détecte la parole vocale, mais ne trouve aucune correspondance dans ses objets chargés et activés Grammar .

Pour effectuer la reconnaissance asynchrone, utilisez l’une des RecognizeAsync méthodes .

Voir aussi

S’applique à

Recognize(TimeSpan)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

Effectue une opération de reconnaissance vocale synchrone avec un délai d'attente de silence initial spécifié.

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

Paramètres

initialSilenceTimeout
TimeSpan

Intervalle de temps pendant lequel un module de reconnaissance vocale accepte une entrée contenant uniquement un silence, avant la finalisation de la reconnaissance.

Retours

Résultat de la reconnaissance pour l'entrée ou null si l'opération n'est pas réussie ou que le module de reconnaissance n'est pas activé.

Exemples

L’exemple suivant montre une partie d’une application console qui illustre la reconnaissance vocale de base. L’exemple crée un DictationGrammar, le charge dans un module de reconnaissance vocale in-process et effectue une opération de reconnaissance.

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

Remarques

Si le moteur de reconnaissance vocale détecte la parole dans l’intervalle de temps spécifié par initialSilenceTimeout l’argument, Recognize(TimeSpan) effectue une seule opération de reconnaissance, puis se termine. Le initialSilenceTimeout paramètre remplace la propriété du module de InitialSilenceTimeout reconnaissance.

Lors d’un appel à cette méthode, le module de reconnaissance peut déclencher les événements suivants :

  • SpeechDetected. Déclenché lorsque le module de reconnaissance détecte une entrée qu’il peut identifier en tant que reconnaissance vocale.

  • SpeechHypothesized. Déclenché lorsque l’entrée crée une correspondance ambiguë avec l’une des grammaires actives.

  • SpeechRecognitionRejected ou SpeechRecognized. Déclenché lorsque le module de reconnaissance finalise une opération de reconnaissance.

Le module de reconnaissance ne déclenche pas l’événement lors de l’utilisation RecognizeCompleted de cette méthode.

La Recognize() méthode retourne un RecognitionResult objet, ou null si l’opération n’a pas réussi.

Une opération de reconnaissance synchrone peut échouer pour les raisons suivantes :

  • La reconnaissance vocale n’est pas détectée avant l’expiration des intervalles de délai d’expiration pour le BabbleTimeout ou pour le initialSilenceTimeout paramètre .

  • Le moteur de reconnaissance détecte la parole vocale, mais ne trouve aucune correspondance dans ses objets chargés et activés Grammar .

Pour effectuer la reconnaissance asynchrone, utilisez l’une des RecognizeAsync méthodes .

Voir aussi

S’applique à