Partilhar via


SpeechRecognitionEngine.Recognize Método

Definição

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

Sobrecargas

Recognize()

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

Recognize(TimeSpan)

Executa uma operação síncrona de reconhecimento de fala 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 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 de fala ou silêncio em relação ao reconhecimento, use as BabbleTimeoutpropriedades , EndSilenceTimeoutInitialSilenceTimeout, e EndSilenceTimeoutAmbiguous .

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 LoadGrammar método ou LoadGrammarAsync .

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

Recognize()

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 para a entrada ou null se a operação não for bem-sucedida ou 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 aciona o RecognizeCompleted evento ao usar esse método.

O Recognize() método retornará um RecognitionResult objeto ou null se a operação não for 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 BabbleTimeout propriedades ou InitialSilenceTimeout .

  • 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

Executa uma operação síncrona de reconhecimento de fala 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 durante o qual um reconhecedor de fala aceita uma entrada contendo apenas silêncio antes de finalizar o reconhecimento.

Retornos

O resultado do reconhecimento para a entrada ou null se a operação não for bem-sucedida ou 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, Recognize(TimeSpan) executará uma única operação de reconhecimento e 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 aciona o RecognizeCompleted evento ao usar esse método.

O Recognize() método retornará um RecognitionResult objeto ou null se a operação não for 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 .initialSilenceTimeout

  • 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