Partilhar via


SpeechRecognizer.EmulateRecognizeAsync Método

Definição

Emula a entrada para o reconhecedor de fala compartilhado usando texto em vez de áudio para reconhecimento de fala assíncrono.

Sobrecargas

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(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, 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.

Comentários

Esses métodos ignoram a entrada de áudio do sistema. Isso pode ser útil quando você está testando ou depurando um aplicativo ou gramática.

O reconhecedor compartilhado gera os SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejectede SpeechRecognized como se a operação de reconhecimento não fosse emulada. Quando o reconhecedor conclui a operação de reconhecimento assíncrono, ele aciona o EmulateRecognizeCompleted evento. O reconhecedor ignora novas linhas e espaço em branco extra e trata a pontuação como entrada literal.

Observação

Se o Reconhecimento de Fala do Windows estiver no estado De suspensão , o reconhecedor compartilhado não processará a entrada e não gerará os SpeechDetected eventos relacionados e , mas ainda gerará o EmulateRecognizeCompleted evento.

Observação

O RecognitionResult objeto gerado pelo reconhecedor compartilhado em resposta à entrada emulada tem um valor de null para sua Audio propriedade.

Para emular o reconhecimento síncrono, use o EmulateRecognize método .

EmulateRecognizeAsync(String)

Origem:
SpeechRecognizer.cs
Origem:
SpeechRecognizer.cs
Origem:
SpeechRecognizer.cs

Emula a entrada de uma frase para o reconhecedor de fala compartilhado usando texto em vez de áudio para reconhecimento de fala assíncrono.

public:
 void EmulateRecognizeAsync(System::String ^ inputText);
public void EmulateRecognizeAsync (string inputText);
member this.EmulateRecognizeAsync : string -> unit
Public Sub EmulateRecognizeAsync (inputText As String)

Parâmetros

inputText
String

A entrada da operação de reconhecimento.

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  
  {  
    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;  

        // This EmulateRecognizeAsync call generates a SpeechRecognized event.  
        recognizer.EmulateRecognizeAsync("testing testing");  

        // Wait for the asynchronous operation to complete.  
        while (!completed)  
        {  
          Thread.Sleep(333);  
        }  

        completed = false;  

        // This EmulateRecognizeAsync call 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 EmulateRecognizeCompleted event.   
    static void EmulateRecognizeCompletedHandler(  
      object sender, EmulateRecognizeCompletedEventArgs e)  
    {  
      if (e.Result == null)  
      {  
        Console.WriteLine("No result generated.");  
      }  

      completed = true;  
    }  
  }  
}

Comentários

Os reconhecedores fornecidos com Vista e Windows 7 ignoram a largura dos caracteres e maiúsculas e minúsculas ao aplicar regras gramaticais à frase de entrada. Para obter mais informações sobre esse tipo de comparação, consulte os CompareOptions valores OrdinalIgnoreCase de enumeração e IgnoreWidth. Os reconhecedores também ignoram novas linhas e espaço em branco extra e tratam a pontuação como entrada literal.

Esse método armazena na tarefa que retorna todas as exceções de não uso que a contraparte síncrona do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por EmulateRecognize(String).

Confira também

Aplica-se a

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Origem:
SpeechRecognizer.cs
Origem:
SpeechRecognizer.cs
Origem:
SpeechRecognizer.cs

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.

public:
 void EmulateRecognizeAsync(cli::array <System::Speech::Recognition::RecognizedWordUnit ^> ^ wordUnits, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync (System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : System.Speech.Recognition.RecognizedWordUnit[] * System.Globalization.CompareOptions -> unit
Public Sub EmulateRecognizeAsync (wordUnits As RecognizedWordUnit(), compareOptions As CompareOptions)

Parâmetros

wordUnits
RecognizedWordUnit[]

Uma matriz de unidades de palavra que contém a entrada da operação de reconhecimento.

compareOptions
CompareOptions

Uma combinação bit a bit dos valores de enumeração que descrevem o tipo de comparação a ser usada para a operação de reconhecimento emulada.

Comentários

Esse método cria um RecognitionResult objeto usando as informações fornecidas no wordUnits parâmetro .

O reconhecedor usa o compareOptions quando aplica regras gramaticais à frase de entrada. Os reconhecedores fornecidos com Vista e Windows 7 ignoram maiúsculas e minúsculas se o OrdinalIgnoreCase valor ou IgnoreCase estiver presente. Os reconhecedores sempre ignoram a largura do caractere e nunca ignoram o tipo Kana. Os reconhecedores também ignoram novas linhas e espaço em branco extra e tratam a pontuação como entrada literal. Para obter mais informações sobre a largura do caractere e o tipo Kana, consulte a CompareOptions enumeração .

Esse método armazena na tarefa que retorna todas as exceções de não uso que a contraparte síncrona do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por EmulateRecognize(RecognizedWordUnit[], CompareOptions).

Confira também

Aplica-se a

EmulateRecognizeAsync(String, CompareOptions)

Origem:
SpeechRecognizer.cs
Origem:
SpeechRecognizer.cs
Origem:
SpeechRecognizer.cs

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.

public:
 void EmulateRecognizeAsync(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync (string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : string * System.Globalization.CompareOptions -> unit
Public Sub EmulateRecognizeAsync (inputText As String, compareOptions As CompareOptions)

Parâmetros

inputText
String

A frase de entrada da operação de reconhecimento.

compareOptions
CompareOptions

Uma combinação bit a bit dos valores de enumeração que descrevem o tipo de comparação a ser usada para a operação de reconhecimento emulada.

Comentários

O reconhecedor usa o compareOptions quando aplica regras gramaticais à frase de entrada. Os reconhecedores fornecidos com Vista e Windows 7 ignoram maiúsculas e minúsculas se o OrdinalIgnoreCase valor ou IgnoreCase estiver presente. Os reconhecedores sempre ignoram a largura do caractere e nunca ignoram o tipo Kana. Os reconhecedores também ignoram novas linhas e espaço em branco extra e tratam a pontuação como entrada literal. Para obter mais informações sobre a largura do caractere e o tipo Kana, consulte a CompareOptions enumeração .

Esse método armazena na tarefa que retorna todas as exceções de não uso que a contraparte síncrona do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por EmulateRecognize(String, CompareOptions).

Confira também

Aplica-se a