SpeechRecognitionEngine.Recognize Método

Definição

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

Sobrecargas

Name Description
Recognize()

Realiza uma operação síncrona de reconhecimento de voz.

Recognize(TimeSpan)

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

Observações

Estes métodos realizam uma única operação de reconhecimento síncrono. O reconhecedor realiza esta operação contra as suas gramáticas de reconhecimento de fala carregadas e ativadas.

Durante uma chamada a este método, o reconhecedor pode gerar os seguintes eventos:

O reconhecedor não levanta o RecognizeCompleted evento quando utiliza um dos Recognize métodos.

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

Uma operação de reconhecimento síncrono pode falhar pelas seguintes razões:

  • A fala não é detetada antes de expirarem os intervalos de tempo para as BabbleTimeout propriedades ou InitialSilenceTimeout , ou para o initialSilenceTimeout parâmetro do Recognize método.

  • O motor de reconhecimento deteta fala, mas não encontra correspondências em nenhum dos seus objetos carregados e ativados Grammar .

Para modificar a forma como o reconhecedor lida com o momento da fala ou do silêncio relativamente ao reconhecimento, use as BabbleTimeout, InitialSilenceTimeout, EndSilenceTimeout, e EndSilenceTimeoutAmbiguous propriedades.

Devem SpeechRecognitionEngine ter pelo menos um Grammar objeto carregado antes de realizar o reconhecimento. Para carregar uma gramática de reconhecimento de voz, use o LoadGrammar método ou LoadGrammarAsync .

Para realizar reconhecimento assíncrono, utilize um dos RecognizeAsync métodos.

Recognize()

Realiza uma operação síncrona de reconhecimento de voz.

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

Devoluções

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

Exemplos

O exemplo seguinte mostra parte de uma aplicação de consola que demonstra reconhecimento básico de voz. O exemplo cria um DictationGrammar, carrega-o num reconhecedor de fala em processo e realiza 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();
    }
  }
}

Observações

Este método realiza uma única operação de reconhecimento. O reconhecedor realiza esta operação contra as suas gramáticas de reconhecimento de fala carregadas e ativadas.

Durante uma chamada a este método, o reconhecedor pode gerar os seguintes eventos:

O reconhecedor não levanta o RecognizeCompleted evento ao usar este método.

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

Uma operação de reconhecimento síncrono pode falhar pelas seguintes razões:

  • A fala não é detetada antes de expirarem os intervalos de tempo para as BabbleTimeout propriedades ou.InitialSilenceTimeout

  • O motor de reconhecimento deteta fala, mas não encontra correspondências em nenhum dos seus objetos carregados e ativados Grammar .

Para realizar reconhecimento assíncrono, utilize um dos RecognizeAsync métodos.

Ver também

Aplica-se a

Recognize(TimeSpan)

Realiza uma operação síncrona de reconhecimento de voz com um período inicial de tempo de silêncio 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 que um reconhecedor de fala aceita entrada contendo apenas silêncio antes de finalizar o reconhecimento.

Devoluções

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

Exemplos

O exemplo seguinte mostra parte de uma aplicação de consola que demonstra reconhecimento básico de voz. O exemplo cria um DictationGrammar, carrega-o num reconhecedor de fala em processo e realiza 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();
    }
  }
}

Observações

Se o motor de reconhecimento de voz detetar a fala dentro do intervalo de tempo especificado pelo initialSilenceTimeout argumento, Recognize(TimeSpan) realizar uma única operação de reconhecimento e depois terminar. O initialSilenceTimeout parâmetro substitui a propriedade do InitialSilenceTimeout reconhecedor.

Durante uma chamada a este método, o reconhecedor pode gerar os seguintes eventos:

O reconhecedor não levanta o RecognizeCompleted evento ao usar este método.

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

Uma operação de reconhecimento síncrono pode falhar pelas seguintes razões:

  • A fala não é detetada antes de expirarem os intervalos de tempo para o BabbleTimeout ou para o initialSilenceTimeout parâmetro.

  • O motor de reconhecimento deteta fala, mas não encontra correspondências em nenhum dos seus objetos carregados e ativados Grammar .

Para realizar reconhecimento assíncrono, utilize um dos RecognizeAsync métodos.

Ver também

Aplica-se a