Compartilhar via


SpeechRecognizer Classe

Definição

Fornece acesso ao serviço de reconhecimento de fala compartilhado disponível na área de trabalho do Windows.

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. 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. Se o Reconhecimento de Fala do Windows estiver no estado De suspensão , EmulateRecognizeAsync sempre retornará nulo.

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. Use o SpeechRecognizer objeto para adicionar à experiência do usuário de fala do Windows.

Essa classe fornece controle sobre vários aspectos do processo de reconhecimento de fala:

A configuração do Reconhecimento de Fala do Windows é gerenciada pelo uso da caixa de diálogo Propriedades de Fala no Painel de Controle. Essa interface é usada para selecionar o mecanismo e a linguagem de reconhecimento de fala da área de trabalho padrão, o dispositivo de entrada de áudio e o comportamento de suspensão do reconhecimento de fala. 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 o idioma de entrada for alterado), a alteração afetará todos os SpeechRecognizer objetos.

Para criar um reconhecedor de fala em processo que seja independente do Reconhecimento de Fala do Windows, use a SpeechRecognitionEngine classe .

Observação

Sempre chame Dispose antes de lançar sua última referência ao reconhecedor de fala. Caso contrário, os recursos que ele está usando não serão liberados até que o coletor de lixo chame o método do objeto reconhecedor Finalize .

Construtores

SpeechRecognizer()

Inicializa uma nova instância da classe SpeechRecognizer.

Propriedades

AudioFormat

Obtém o formato do áudio que está sendo recebido pelo reconhecedor de fala.

AudioLevel

Obtém o nível do áudio que está sendo recebido pelo reconhecedor de fala.

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.

AudioState

Obtém o estado do áudio que está sendo recebido pelo reconhecedor de fala.

Enabled

Obtém ou define um valor que indica se esse objeto SpeechRecognizer está pronto para processar a fala.

Grammars

Obtém uma coleção de objetos Grammar carregados nessa instância SpeechRecognizer.

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.

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.

RecognizerAudioPosition

Obtém o local atual do reconhecedor na entrada de áudio que está sendo processada.

RecognizerInfo

Obtém informações sobre o reconhecedor de fala compartilhado.

State

Obtém o estado de um objeto SpeechRecognizer.

Métodos

Dispose()

Descarta o objeto SpeechRecognizer.

Dispose(Boolean)

Descarta o objeto SpeechRecognizer e libera os recursos usados durante a sessão.

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.

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.

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.

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.

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.

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.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadGrammar(Grammar)

Carrega uma gramática de reconhecimento de fala.

LoadGrammarAsync(Grammar)

Carrega de forma assíncrona uma gramática de reconhecimento de fala.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RequestRecognizerUpdate()

Solicita que o reconhecedor compartilhado pause e atualize seu estado.

RequestRecognizerUpdate(Object)

Solicita que o reconhecedor compartilhado pause e atualize seu estado e forneça um token de usuário para o evento associado.

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.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
UnloadAllGrammars()

Descarrega todas as gramáticas de reconhecimento de fala do reconhecedor compartilhado.

UnloadGrammar(Grammar)

Descarrega uma gramáticas de reconhecimento de fala especificada do reconhecedor compartilhado.

Eventos

AudioLevelUpdated

Ocorre quando o reconhecedor compartilhado informa o nível da entrada de áudio.

AudioSignalProblemOccurred

Ocorre quando o reconhecedor encontra um problema no sinal de áudio.

AudioStateChanged

Ocorre quando o estado é alterado no áudio que está sendo recebido pelo reconhecedor.

EmulateRecognizeCompleted

Ocorre quando o reconhecedor compartilhado finaliza uma operação de reconhecimento assíncrona para a entrada emulada.

LoadGrammarCompleted

Ocorre quando o reconhecedor finaliza o carregamento assíncrono de uma gramática de reconhecimento de fala.

RecognizerUpdateReached

Ocorre quando o reconhecedor pausa para sincronizar o reconhecimento e outras operações.

SpeechDetected

Ocorre quando o reconhecedor detecta a entrada que ele pode identificar como fala.

SpeechHypothesized

Ocorre quando o reconhecedor reconheceu palavras que podem ser um componente de várias frases completas em uma gramática.

SpeechRecognitionRejected

Ocorre quando o reconhecedor recebe entrada que correspondem a nenhuma gramáticas de reconhecimento de fala carregada.

SpeechRecognized

Ocorre quando o reconhecedor recebe uma entrada que corresponde a uma de suas gramáticas de reconhecimento de fala.

StateChanged

Ocorre quando o estado de execução do mecanismo de reconhecimento Tecnologia de Fala do Windows Desktop é alterado.

Aplica-se a

Confira também