Partager via


SpeechRecognizer Classe

Définition

Permet d'accéder au service de reconnaissance vocale partagé disponible sur le Bureau Windows.

public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
    interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
Héritage
SpeechRecognizer
Implémente

Exemples

L’exemple suivant fait partie d’une application console qui charge une grammaire de reconnaissance vocale et illustre l’entrée émulée asynchrone, les résultats de la reconnaissance associée et les événements associés déclenchés par le module de reconnaissance vocale. Si la reconnaissance vocale Windows n’est pas en cours d’exécution, le démarrage de cette application démarre également la reconnaissance vocale Windows. Si la reconnaissance vocale Windows est à l’état en veille , EmulateRecognizeAsync retourne toujours la valeur 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;  
    }  
  }  
}  

Remarques

Les applications utilisent le module de reconnaissance partagée pour accéder à la reconnaissance vocale Windows. Utilisez l’objet SpeechRecognizer à ajouter à l’expérience utilisateur de Windows Speech.

Cette classe permet de contrôler différents aspects du processus de reconnaissance vocale :

La configuration de la reconnaissance vocale Windows est gérée par l’utilisation de la boîte de dialogue Propriétés vocales dans le Panneau de configuration. Cette interface est utilisée pour sélectionner le moteur et la langue de reconnaissance vocale par défaut du bureau, le périphérique d’entrée audio et le comportement de veille de la reconnaissance vocale. Si la configuration de la reconnaissance vocale Windows est modifiée pendant l’exécution de l’application (par instance, si la reconnaissance vocale est désactivée ou si la langue d’entrée est modifiée), la modification affecte tous les SpeechRecognizer objets.

Pour créer un module de reconnaissance vocale in-process indépendant de la reconnaissance vocale Windows, utilisez la SpeechRecognitionEngine classe .

Notes

Appelez Dispose toujours avant de libérer votre dernière référence au module de reconnaissance vocale. Sinon, les ressources qu’il utilise ne seront pas libérées tant que le récupérateur de mémoire n’appelle pas la méthode de l’objet de Finalize reconnaissance.

Constructeurs

SpeechRecognizer()

Initialise une nouvelle instance de la classe SpeechRecognizer.

Propriétés

AudioFormat

Obtient le format de l'audio reçu par le module de reconnaissance vocale.

AudioLevel

Obtient le niveau de l'audio reçu par le module de reconnaissance vocale.

AudioPosition

Obtient la position actuelle dans le flux audio généré par le périphérique qui gère les entrées pour le module de reconnaissance vocale.

AudioState

Obtient l'état de l'audio reçu par le module de reconnaissance vocale.

Enabled

Obtient ou définit une valeur qui indique si cet objet de SpeechRecognizer est prêt à procéder à la reconnaissance vocale.

Grammars

Obtient une collection des objets Grammar chargés dans cette instance SpeechRecognizer.

MaxAlternates

Obtient ou définit le nombre maximal de résultats de reconnaissance retourné pour chaque opération de reconnaissance par le module de reconnaissance partagé.

PauseRecognizerOnRecognition

Obtient ou définit une valeur qui indique si le module de reconnaissance partagé suspend des opérations de reconnaissance pendant qu'une application gère un événement de SpeechRecognized.

RecognizerAudioPosition

Obtient la position actuelle du module de reconnaissance dans l'entrée audio qu'il gère.

RecognizerInfo

Obtient les informations à propos du module de reconnaissance vocale partagé.

State

Obtient l'état d'un objet SpeechRecognizer.

Méthodes

Dispose()

Supprime l'objet SpeechRecognizer.

Dispose(Boolean)

Supprime l’objet SpeechRecognizer et libère les ressources utilisées pendant la session.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Émule l'entrée de mots spécifiques dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale synchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre les mots et les grammaires de la reconnaissance vocale chargées.

EmulateRecognize(String)

Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale synchrone.

EmulateRecognize(String, CompareOptions)

Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale synchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre l'expression et les grammaires de la reconnaissance vocale chargées.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Émule l'entrée de mots spécifiques dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre les mots et les grammaires de la reconnaissance vocale chargées.

EmulateRecognizeAsync(String)

Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone.

EmulateRecognizeAsync(String, CompareOptions)

Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre l'expression et les grammaires de la reconnaissance vocale chargées.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
LoadGrammar(Grammar)

Charge une grammaire de reconnaissance vocale.

LoadGrammarAsync(Grammar)

Charge une syntaxe de reconnaissance vocale de façon asynchrone.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
RequestRecognizerUpdate()

Demande que le module de reconnaissance partagé soit suspendu et mette à jour son état.

RequestRecognizerUpdate(Object)

Demande que le module de reconnaissance partagé soit suspendu, mette à jour son état et fournisse un jeton utilisateur pour l'événement associé.

RequestRecognizerUpdate(Object, TimeSpan)

Demande que le module de reconnaissance partagé soit suspendu, mette à jour son état et fournisse un offset et un jeton utilisateur pour l'événement associé.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
UnloadAllGrammars()

Décharge toutes les Grammaires de la Reconnaissance vocale du module de reconnaissance partagé.

UnloadGrammar(Grammar)

Décharge une Grammaire de la Reconnaissance vocale à partir du module de reconnaissance partagé.

Événements

AudioLevelUpdated

Se produit lorsque le module de reconnaissance partagé indique le niveau de son entrée audio.

AudioSignalProblemOccurred

Se produit lorsque le module de reconnaissance rencontre un problème dans le signal audio.

AudioStateChanged

Se produit lors du changement de l'état de l'audio reçu par le module de reconnaissance.

EmulateRecognizeCompleted

Se produit lorsque le module de reconnaissance partagé finalise un module de reconnaissance asynchrone pour l'entrée émulée.

LoadGrammarCompleted

Se produit lorsque le module de reconnaissance termine le chargement asynchrone d'une syntaxe de reconnaissance vocale.

RecognizerUpdateReached

Se produit lorsque le module de reconnaissance s'interrompt pour synchroniser la reconnaissance et d'autres opérations.

SpeechDetected

Se produit lorsque le module de reconnaissance détecte l'entrée qu'il peut identifier comme vocale.

SpeechHypothesized

Se produit lorsque le module de reconnaissance a identifié un mot ou des mots qui peuvent être un composant de plusieurs expressions complètes dans une syntaxe.

SpeechRecognitionRejected

Se produit lorsque le module de reconnaissance accepte les entrées qui ne correspondent pas à l'une des syntaxes de reconnaissance vocale qu'il a chargé.

SpeechRecognized

Se produit lorsque le module de reconnaissance reçoit l'entrée qui correspond à l'une de ses syntaxes de reconnaissance vocale.

StateChanged

Se produit lorsque l'état d'exécution du moteur de reconnaissance de technologie vocale du Bureau Windows change.

S’applique à

Voir aussi