SpeechRecognizer Classe

Definição

Fornece acesso ao serviço de reconhecimento de fala compartilhado disponível na área de trabalho do Windows.Provides access to the shared speech recognition service available on the Windows desktop.

public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
    interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
Herança
SpeechRecognizer
Implementações

Exemplos

O exemplo a seguir faz parte de um aplicativo de console que carrega uma gramática de reconhecimento de fala e demonstra a entrada emulada assíncrona, os resultados de reconhecimento associados e os eventos associados gerados pelo reconhecedor de fala.The following example is part of a console application that loads a speech recognition grammar and demonstrates asynchronous emulated input, the associated recognition results, and the associated events raised by the speech recognizer. Se o reconhecimento de fala do Windows não estiver em execução, iniciar este aplicativo também iniciará o reconhecimento de fala do Windows.If Windows Speech Recognition is not running, then starting this application will also start Windows Speech Recognition. Se o reconhecimento de fala do Windows estiver no estado de suspensão , EmulateRecognizeAsync sempre retornará NULL.If Windows Speech Recognition is in the Sleeping state, then EmulateRecognizeAsync always returns 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;  
    }  
  }  
}  
  

Comentários

Os aplicativos usam o reconhecedor compartilhado para acessar o reconhecimento de fala do Windows.Applications use the shared recognizer to access Windows Speech Recognition. Use o objeto SpeechRecognizer para adicionar a experiência do usuário de fala do Windows.Use the SpeechRecognizer object to add to the Windows speech user experience.

Essa classe fornece controle sobre vários aspectos do processo de reconhecimento de fala:This class provides control over various aspects of the speech recognition process:

A configuração do reconhecimento de fala do Windows é gerenciada pelo uso da caixa de diálogo Propriedades de fala no painel de controle.The configuration of Windows Speech Recognition is managed by the use of the Speech Properties dialog in the Control Panel. Essa interface é usada para selecionar o mecanismo e o idioma padrão de reconhecimento de fala da área de trabalho, o dispositivo de entrada de áudio e o comportamento de suspensão do reconhecimento de fala.This interface is used to select the default desktop speech recognition engine and language, the audio input device, and the sleep behavior of speech recognition. Se a configuração do reconhecimento de fala do Windows for alterada enquanto o aplicativo estiver em execução, (por exemplo, se o reconhecimento de fala estiver desabilitado ou se o idioma de entrada for alterado), a alteração afetará todos os objetos SpeechRecognizer.If the configuration of Windows Speech Recognition is changed while the application is running, (for instance, if speech recognition is disabled or the input language is changed), the change affects all SpeechRecognizer objects.

Para criar um reconhecedor de fala em processo que seja independente do reconhecimento de fala do Windows, use a classe SpeechRecognitionEngine.To create an in-process speech recognizer that is independent of Windows Speech Recognition, use the SpeechRecognitionEngine class.

Observação

Chame sempre Dispose antes de liberar sua última referência para o reconhecedor de fala.Always call Dispose before you release your last reference to the speech recognizer. Caso contrário, os recursos que ele está usando não serão liberados até que o coletor de lixo chame o método de Finalize do objeto reconhecedor.Otherwise, the resources it is using will not be freed until the garbage collector calls the recognizer object's Finalize method.

Construtores

SpeechRecognizer()

Inicializa uma nova instância da classe SpeechRecognizer.Initializes a new instance of the SpeechRecognizer class.

Propriedades

AudioFormat

Obtém o formato do áudio que está sendo recebido pelo reconhecedor de fala.Gets the format of the audio being received by the speech recognizer.

AudioLevel

Obtém o nível do áudio que está sendo recebido pelo reconhecedor de fala.Gets the level of the audio being received by the speech recognizer.

AudioPosition

Obtém o local atual no stream de áudio que está sendo gerado pelo dispositivo que está fornecendo a entrada para o reconhecedor de fala.Gets the current location in the audio stream being generated by the device that is providing input to the speech recognizer.

AudioState

Obtém o estado do áudio que está sendo recebido pelo reconhecedor de fala.Gets the state of the audio being received by the speech recognizer.

Enabled

Obtém ou define um valor que indica se esse objeto SpeechRecognizer está pronto para processar a fala.Gets or sets a value that indicates whether this SpeechRecognizer object is ready to process speech.

Grammars

Obtém uma coleção de objetos Grammar carregados nessa instância SpeechRecognizer.Gets a collection of the Grammar objects that are loaded in this SpeechRecognizer instance.

MaxAlternates

Obtém ou define o número máximo de resultados alternativos de reconhecimento que o reconhecedor compartilhado retorna para cada operação de reconhecimento.Gets or sets the maximum number of alternate recognition results that the shared recognizer returns for each recognition operation.

PauseRecognizerOnRecognition

Obtém ou define um valor que indica se o reconhecedor compartilhado pausará as operações de reconhecimento enquanto um aplicativo está manipulando um evento SpeechRecognized.Gets or sets a value that indicates whether the shared recognizer pauses recognition operations while an application is handling a SpeechRecognized event.

RecognizerAudioPosition

Obtém o local atual do reconhecedor na entrada de áudio que está sendo processada.Gets the current location of the recognizer in the audio input that it is processing.

RecognizerInfo

Obtém informações sobre o reconhecedor de fala compartilhado.Gets information about the shared speech recognizer.

State

Obtém o estado de um objeto SpeechRecognizer.Gets the state of a SpeechRecognizer object.

Métodos

Dispose()

Descarta o objeto SpeechRecognizer.Disposes the SpeechRecognizer object.

Dispose(Boolean)

Descarta o objeto SpeechRecognizer e libera os recursos usados durante a sessão.Disposes the SpeechRecognizer object and releases resources used during the session.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emula a entrada de palavras específicas no reconhecedor de fala compartilhado usando texto em vez de áudio para o reconhecimento de fala síncrono e especifica como o reconhecedor trata a comparação Unicode entre as palavras e as gramáticas do reconhecimento de fala carregado.Emulates input of specific words to the shared speech recognizer, using text instead of audio for synchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the words and the loaded speech recognition grammars.

EmulateRecognize(String)

Emula a entrada de uma frase para o reconhecedor de fala compartilhado usando texto em vez de áudio para reconhecimento de fala síncrono.Emulates input of a phrase to the shared speech recognizer, using text instead of audio for synchronous speech recognition.

EmulateRecognize(String, CompareOptions)

Emula a entrada de uma frase no reconhecedor de fala compartilhado usando texto em vez de áudio para o reconhecimento de fala síncrono e especifica como o reconhecedor trata a comparação Unicode entre a frase e as gramáticas do reconhecimento de fala carregado.Emulates input of a phrase to the shared speech recognizer, using text instead of audio for synchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the phrase and the loaded speech recognition grammars.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emula a entrada de palavras específicas no reconhecedor de fala compartilhado usando texto em vez de áudio para o reconhecimento de fala assíncrono e especifica como o reconhecedor trata a comparação Unicode entre as palavras e as gramáticas do reconhecimento de fala carregado.Emulates input of specific words to the shared speech recognizer, using text instead of audio for asynchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the words and the loaded speech recognition grammars.

EmulateRecognizeAsync(String)

Emula a entrada de uma frase para o reconhecedor de fala compartilhado usando texto em vez de áudio para reconhecimento de fala assíncrono.Emulates input of a phrase to the shared speech recognizer, using text instead of audio for asynchronous speech recognition.

EmulateRecognizeAsync(String, CompareOptions)

Emula a entrada de uma frase no reconhecedor de fala compartilhado usando texto em vez de áudio para o reconhecimento de fala assíncrono e especifica como o reconhecedor trata a comparação Unicode entre a frase e as gramáticas do reconhecimento de fala carregado.Emulates input of a phrase to the shared speech recognizer, using text instead of audio for asynchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the phrase and the loaded speech recognition grammars.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
LoadGrammar(Grammar)

Carrega uma gramática de reconhecimento de fala.Loads a speech recognition grammar.

LoadGrammarAsync(Grammar)

Carrega de forma assíncrona uma gramática de reconhecimento de fala.Asynchronously loads a speech recognition grammar.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
RequestRecognizerUpdate()

Solicita que o reconhecedor compartilhado pause e atualize seu estado.Requests that the shared recognizer pause and update its state.

RequestRecognizerUpdate(Object)

Solicita que o reconhecedor compartilhado pause e atualize seu estado e forneça um token de usuário para o evento associado.Requests that the shared recognizer pause and update its state and provides a user token for the associated event.

RequestRecognizerUpdate(Object, TimeSpan)

Solicita que o reconhecedor compartilhado pause e atualize seu estado e forneça um deslocamento e um token de usuário para o evento associado.Requests that the shared recognizer pause and update its state and provides an offset and a user token for the associated event.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)
UnloadAllGrammars()

Descarrega todas as gramáticas de reconhecimento de fala do reconhecedor compartilhado.Unloads all speech recognition grammars from the shared recognizer.

UnloadGrammar(Grammar)

Descarrega uma gramáticas de reconhecimento de fala especificada do reconhecedor compartilhado.Unloads a specified speech recognition grammar from the shared recognizer.

Eventos

AudioLevelUpdated

Ocorre quando o reconhecedor compartilhado informa o nível da entrada de áudio.Occurs when the shared recognizer reports the level of its audio input.

AudioSignalProblemOccurred

Ocorre quando o reconhecedor encontra um problema no sinal de áudio.Occurs when the recognizer encounters a problem in the audio signal.

AudioStateChanged

Ocorre quando o estado é alterado no áudio que está sendo recebido pelo reconhecedor.Occurs when the state changes in the audio being received by the recognizer.

EmulateRecognizeCompleted

Ocorre quando o reconhecedor compartilhado finaliza uma operação de reconhecimento assíncrona para a entrada emulada.Occurs when the shared recognizer finalizes an asynchronous recognition operation for emulated input.

LoadGrammarCompleted

Ocorre quando o reconhecedor finaliza o carregamento assíncrono de uma gramática de reconhecimento de fala.Occurs when the recognizer finishes the asynchronous loading of a speech recognition grammar.

RecognizerUpdateReached

Ocorre quando o reconhecedor pausa para sincronizar o reconhecimento e outras operações.Occurs when the recognizer pauses to synchronize recognition and other operations.

SpeechDetected

Ocorre quando o reconhecedor detecta a entrada que ele pode identificar como fala.Occurs when the recognizer detects input that it can identify as speech.

SpeechHypothesized

Ocorre quando o reconhecedor reconheceu palavras que podem ser um componente de várias frases completas em uma gramática.Occurs when the recognizer has recognized a word or words that may be a component of multiple complete phrases in a grammar.

SpeechRecognitionRejected

Ocorre quando o reconhecedor recebe entrada que correspondem a nenhuma gramáticas de reconhecimento de fala carregada.Occurs when the recognizer receives input that does not match any of the speech recognition grammars it has loaded.

SpeechRecognized

Ocorre quando o reconhecedor recebe uma entrada que corresponde a uma de suas gramáticas de reconhecimento de fala.Occurs when the recognizer receives input that matches one of its speech recognition grammars.

StateChanged

Ocorre quando o estado de execução do mecanismo de reconhecimento Tecnologia de Fala do Windows Desktop é alterado.Occurs when the running state of the Windows Desktop Speech Technology recognition engine changes.

Aplica-se a

Veja também