Compartilhar via


SpeechRecognitionEngine.Recognize Método

Definição

Inicia uma operação de reconhecimento de fala síncrona.

Sobrecargas

Nome Description
Recognize()

Executa uma operação de reconhecimento de fala síncrona.

Recognize(TimeSpan)

Executa uma operação de reconhecimento de fala síncrona com um período de tempo limite de silêncio inicial especificado.

Comentários

Esses métodos executam uma única operação de reconhecimento síncrono. O reconhecedor executa essa operação em relação às gramáticas de reconhecimento de fala carregadas e habilitadas.

Durante uma chamada para esse método, o reconhecedor pode gerar os seguintes eventos:

O reconhecedor não gera o RecognizeCompleted evento ao usar um dos Recognize métodos.

Os Recognize métodos retornam um RecognitionResult objeto ou null se a operação não for bem-sucedida ou se o reconhecedor não estiver habilitado.

Uma operação de reconhecimento síncrono pode falhar pelos seguintes motivos:

  • A fala não é detectada antes que os intervalos de tempo limite expirem para as BabbleTimeout propriedades ou InitialSilenceTimeout propriedades ou para o initialSilenceTimeout parâmetro do Recognize método.

  • O mecanismo de reconhecimento detecta fala, mas não encontra correspondências em nenhum de seus objetos carregados e habilitados Grammar .

Para modificar como o reconhecedor lida com o tempo da fala ou do silêncio em relação ao reconhecimento, use as BabbleTimeoutpropriedades, InitialSilenceTimeoute EndSilenceTimeoutAmbiguousEndSilenceTimeoutas propriedades.

O SpeechRecognitionEngine deve ter pelo menos um Grammar objeto carregado antes de executar o reconhecimento. Para carregar uma gramática de reconhecimento de fala, use o método ou LoadGrammarAsync o LoadGrammar método.

Para executar o reconhecimento assíncrono, use um dos RecognizeAsync métodos.

Recognize()

Origem:
SpeechRecognitionEngine.cs
Origem:
SpeechRecognitionEngine.cs
Origem:
SpeechRecognitionEngine.cs
Origem:
SpeechRecognitionEngine.cs

Executa uma operação de reconhecimento de fala síncrona.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize();
public System.Speech.Recognition.RecognitionResult Recognize();
member this.Recognize : unit -> System.Speech.Recognition.RecognitionResult
Public Function Recognize () As RecognitionResult

Retornos

O resultado do reconhecimento da entrada ou null se a operação não for bem-sucedida ou se o reconhecedor não estiver habilitado.

Exemplos

O exemplo a seguir mostra parte de um aplicativo de console que demonstra o reconhecimento de fala básico. O exemplo cria um DictationGrammar, carrega-o em um reconhecedor de fala em processo e executa uma operação de reconhecimento.

using System;
using System.Speech.Recognition;

namespace SynchronousRecognition
{
  class Program
  {
    static void Main(string[] args)
    {
      // Create an in-process speech recognizer for the en-US locale.
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine(
          new System.Globalization.CultureInfo("en-US")))
      {

        // Create and load a dictation grammar.
        recognizer.LoadGrammar(new DictationGrammar());

        // Configure input to the speech recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Modify the initial silence time-out value.
        recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5);

        // Start synchronous speech recognition.
        RecognitionResult result = recognizer.Recognize();

        if (result != null)
        {
          Console.WriteLine("Recognized text = {0}", result.Text);
        }
        else
        {
          Console.WriteLine("No recognition result available.");
        }
      }

      Console.WriteLine();
      Console.WriteLine("Press any key to continue...");
      Console.ReadKey();
    }
  }
}

Comentários

Esse método executa uma única operação de reconhecimento. O reconhecedor executa essa operação em relação às gramáticas de reconhecimento de fala carregadas e habilitadas.

Durante uma chamada para esse método, o reconhecedor pode gerar os seguintes eventos:

O reconhecedor não gera o RecognizeCompleted evento ao usar esse método.

O Recognize() método retorna um RecognitionResult objeto ou null se a operação não é bem-sucedida.

Uma operação de reconhecimento síncrono pode falhar pelos seguintes motivos:

  • A fala não é detectada antes que os intervalos de tempo limite expirem para as propriedades ou InitialSilenceTimeout as BabbleTimeout propriedades.

  • O mecanismo de reconhecimento detecta fala, mas não encontra correspondências em nenhum de seus objetos carregados e habilitados Grammar .

Para executar o reconhecimento assíncrono, use um dos RecognizeAsync métodos.

Confira também

Aplica-se a

Recognize(TimeSpan)

Origem:
SpeechRecognitionEngine.cs
Origem:
SpeechRecognitionEngine.cs
Origem:
SpeechRecognitionEngine.cs
Origem:
SpeechRecognitionEngine.cs

Executa uma operação de reconhecimento de fala síncrona com um período de tempo limite de silêncio inicial especificado.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize(TimeSpan initialSilenceTimeout);
public System.Speech.Recognition.RecognitionResult Recognize(TimeSpan initialSilenceTimeout);
member this.Recognize : TimeSpan -> System.Speech.Recognition.RecognitionResult
Public Function Recognize (initialSilenceTimeout As TimeSpan) As RecognitionResult

Parâmetros

initialSilenceTimeout
TimeSpan

O intervalo de tempo em que um reconhecedor de fala aceita a entrada que contém apenas o silêncio antes de finalizar o reconhecimento.

Retornos

O resultado do reconhecimento da entrada ou null se a operação não for bem-sucedida ou se o reconhecedor não estiver habilitado.

Exemplos

O exemplo a seguir mostra parte de um aplicativo de console que demonstra o reconhecimento de fala básico. O exemplo cria um DictationGrammar, carrega-o em um reconhecedor de fala em processo e executa uma operação de reconhecimento.

using System;
using System.Speech.Recognition;

namespace SynchronousRecognition
{
  class Program
  {
    static void Main(string[] args)
    {
      // Create an in-process speech recognizer for the en-US locale.
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine(
          new System.Globalization.CultureInfo("en-US")))
      {
        // Create and load a dictation grammar.
        recognizer.LoadGrammar(new DictationGrammar());

        // Configure input to the speech recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Start synchronous speech recognition.
        RecognitionResult result = recognizer.Recognize(TimeSpan.FromSeconds(5));

        if (result != null)
        {
          Console.WriteLine("Recognized text = {0}", result.Text);
        }
        else
        {
          Console.WriteLine("No recognition result available.");
        }
      }

      Console.WriteLine();
      Console.WriteLine("Press any key to continue...");
      Console.ReadKey();
    }
  }
}

Comentários

Se o mecanismo de reconhecimento de fala detectar fala dentro do intervalo de tempo especificado pelo initialSilenceTimeout argumento, executará uma única operação de reconhecimento e, em seguida, Recognize(TimeSpan) terminará. O initialSilenceTimeout parâmetro substitui a propriedade do InitialSilenceTimeout reconhecedor.

Durante uma chamada para esse método, o reconhecedor pode gerar os seguintes eventos:

O reconhecedor não gera o RecognizeCompleted evento ao usar esse método.

O Recognize() método retorna um RecognitionResult objeto ou null se a operação não é bem-sucedida.

Uma operação de reconhecimento síncrono pode falhar pelos seguintes motivos:

  • A fala não é detectada antes que os intervalos de tempo limite expirem para o BabbleTimeout parâmetro ou para o initialSilenceTimeout parâmetro.

  • O mecanismo de reconhecimento detecta fala, mas não encontra correspondências em nenhum de seus objetos carregados e habilitados Grammar .

Para executar o reconhecimento assíncrono, use um dos RecognizeAsync métodos.

Confira também

Aplica-se a