Partilhar 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, a inicialização desse 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 ligue 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

Nome Description
SpeechRecognizer()

Inicializa uma nova instância da classe SpeechRecognizer.

Propriedades

Nome Description
AudioFormat

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

AudioLevel

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

AudioPosition

Obtém o local atual no fluxo de áudio que está sendo gerado pelo dispositivo que está fornecendo entrada para o reconhecedor de fala.

AudioState

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

Enabled

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

Grammars

Obtém uma coleção dos Grammar objetos que são carregados nesta SpeechRecognizer instância.

MaxAlternates

Obtém ou define o número máximo de resultados de reconhecimento alternativos que o reconhecedor compartilhado retorna para cada operação de reconhecimento.

PauseRecognizerOnRecognition

Obtém ou define um valor que indica se o reconhecedor compartilhado pausa operações de reconhecimento enquanto um aplicativo está tratando um SpeechRecognized evento.

RecognizerAudioPosition

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

RecognizerInfo

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

State

Obtém o estado de um objeto SpeechRecognizer.

Métodos

Nome Description
Dispose()

Descarta o SpeechRecognizer objeto.

Dispose(Boolean)

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

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emula a entrada de palavras específicas para o reconhecedor de fala compartilhado, usando texto em vez de áudio para reconhecimento de fala síncrono e especifica como o reconhecedor lida com a comparação Unicode entre as palavras e as gramáticas de reconhecimento de fala carregadas.

EmulateRecognize(String, CompareOptions)

Emula a entrada de uma frase para o reconhecedor de fala compartilhado, usando texto em vez de áudio para reconhecimento de fala síncrono e especifica como o reconhecedor lida com a comparação Unicode entre a frase e as gramáticas de reconhecimento de fala carregadas.

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.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emula a entrada de palavras específicas para o reconhecedor de fala compartilhado, usando texto em vez de áudio para reconhecimento de fala assíncrono e especifica como o reconhecedor lida com a comparação Unicode entre as palavras e as gramáticas de reconhecimento de fala carregadas.

EmulateRecognizeAsync(String, CompareOptions)

Emula a entrada de uma frase para o reconhecedor de fala compartilhado, usando texto em vez de áudio para reconhecimento de fala assíncrono e especifica como o reconhecedor lida com a comparação Unicode entre a frase e as gramáticas de reconhecimento de fala carregadas.

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.

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 Objectatual.

(Herdado de Object)
RequestRecognizerUpdate()

Solicita que o reconhecedor compartilhado pause e atualize seu estado.

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.

RequestRecognizerUpdate(Object)

Solicita que o reconhecedor compartilhado pause e atualize seu estado e forneça 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ática de reconhecimento de fala especificada do reconhecedor compartilhado.

Eventos

Nome Description
AudioLevelUpdated

Ocorre quando o reconhecedor compartilhado relata o nível de sua entrada de áudio.

AudioSignalProblemOccurred

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

AudioStateChanged

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

EmulateRecognizeCompleted

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

LoadGrammarCompleted

Ocorre quando o reconhecedor conclui 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 pode identificar como fala.

SpeechHypothesized

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

SpeechRecognitionRejected

Ocorre quando o reconhecedor recebe uma entrada que não corresponde a nenhuma das gramáticas de reconhecimento de fala carregadas.

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 em execução do mecanismo de reconhecimento da Tecnologia de Fala da Área de Trabalho do Windows é alterado.

Aplica-se a

Confira também