Partager via


SpeechRecognizer Classe

Définition

Fournit l’accès au service de reconnaissance vocale partagée 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 une 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 dans l’état veille , retourne EmulateRecognizeAsync toujours 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 vocale partagée pour accéder à la reconnaissance vocale Windows. Utilisez l’objet SpeechRecognizer pour ajouter à l’expérience utilisateur de reconnaissance vocale Windows.

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 permet de sélectionner le moteur et la langue de reconnaissance vocale de bureau par défaut, l’appareil 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 exemple, si la reconnaissance vocale est désactivée ou que 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.

Note

Appelez Dispose toujours avant de publier 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 garbage collector n’appelle pas la méthode de l’objet Finalize recognizer.

Constructeurs

Nom Description
SpeechRecognizer()

Initialise une nouvelle instance de la classe SpeechRecognizer.

Propriétés

Nom Description
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 l’emplacement actuel du flux audio généré par l’appareil qui fournit une entrée au 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 SpeechRecognizer objet est prêt à traiter la voix.

Grammars

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

MaxAlternates

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

PauseRecognizerOnRecognition

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

RecognizerAudioPosition

Obtient l’emplacement actuel du module de reconnaissance dans l’entrée audio qu’il traite.

RecognizerInfo

Obtient des informations sur le module de reconnaissance vocale partagée.

State

Obtient l’état d’un objet SpeechRecognizer.

Méthodes

Nom Description
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 au module de reconnaissance vocale partagée, en utilisant du texte au lieu de l’audio pour la reconnaissance vocale synchrone et spécifie comment le module de reconnaissance vocale gère la comparaison Unicode entre les mots et les grammaires de reconnaissance vocale chargées.

EmulateRecognize(String, CompareOptions)

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

EmulateRecognize(String)

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

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

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

EmulateRecognizeAsync(String, CompareOptions)

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

EmulateRecognizeAsync(String)

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

Equals(Object)

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

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

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

Charge une grammaire de reconnaissance vocale.

LoadGrammarAsync(Grammar)

Charge de manière asynchrone une grammaire de reconnaissance vocale.

MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
RequestRecognizerUpdate()

Demande que le module de reconnaissance partagée suspende et met à jour son état.

RequestRecognizerUpdate(Object, TimeSpan)

Demande que le module de reconnaissance partagée suspende et met à jour son état et fournit un décalage et un jeton utilisateur pour l’événement associé.

RequestRecognizerUpdate(Object)

Demande que le module de reconnaissance partagé suspende et met à jour son état et fournit 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 reconnaissance vocale à partir du module de reconnaissance partagée.

UnloadGrammar(Grammar)

Décharge une grammaire de reconnaissance vocale spécifiée à partir du module de reconnaissance vocale partagée.

Événements

Nom Description
AudioLevelUpdated

Se produit lorsque le module de reconnaissance partagé signale 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 lorsque l’état change dans l’audio reçu par le module de reconnaissance.

EmulateRecognizeCompleted

Se produit lorsque le module de reconnaissance partagée finalise une opération de reconnaissance asynchrone pour l’entrée émulée.

LoadGrammarCompleted

Se produit lorsque le module de reconnaissance termine le chargement asynchrone d’une grammaire 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 en tant que reconnaissance vocale.

SpeechHypothesized

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

SpeechRecognitionRejected

Se produit lorsque le module de reconnaissance reçoit une entrée qui ne correspond à aucune des grammaires de reconnaissance vocale qu’il a chargées.

SpeechRecognized

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

StateChanged

Se produit lorsque l’état en cours d’exécution du moteur de reconnaissance vocale Windows Desktop Speech change.

S’applique à

Voir aussi