SpeechRecognizer.EmulateRecognizeAsync Metoda

Definice

Emuluje vstup do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči.

Přetížení

EmulateRecognizeAsync(String)

Emuluje vstup fráze do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emuluje vstup určitých slov do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnání slov v kódování Unicode a načtené gramatiky rozpoznávání řeči.

EmulateRecognizeAsync(String, CompareOptions)

Emuluje vstup fráze do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnání mezi frází a načtenou gramatikou rozpoznávání řeči v kódování Unicode.

Poznámky

Tyto metody obcházejí systémový zvukový vstup. To může být užitečné při testování nebo ladění aplikace nebo gramatiky.

Sdílený rozpoznávací nástroj vyvolá SpeechDetectedudálosti , SpeechHypothesized, SpeechRecognitionRejecteda SpeechRecognized , jako by operace rozpoznávání nebyla emulována. Když rozpoznávání dokončí operaci asynchronního rozpoznávání, vyvolá EmulateRecognizeCompleted událost. Rozpoznávání ignoruje nové řádky a nadbytečné prázdné znaky a interpunkci považuje za vstup literálu.

Poznámka

Pokud je Rozpoznávání řeči systému Windows v režimu spánku , pak sdílený rozpoznávací nástroj nezpracovává vstup a nevyvolává SpeechDetected související události, ale stále vyvolává EmulateRecognizeCompleted událost.

Poznámka

Objekt RecognitionResult vygenerovaný sdíleným rozpoznávatelem v reakci na emulovaný vstup má hodnotu null pro svou Audio vlastnost.

K emulaci synchronního rozpoznávání použijte metodu EmulateRecognize .

EmulateRecognizeAsync(String)

Zdroj:
SpeechRecognizer.cs
Zdroj:
SpeechRecognizer.cs
Zdroj:
SpeechRecognizer.cs

Emuluje vstup fráze do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči.

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

Parametry

inputText
String

Vstup pro operaci rozpoznávání.

Příklady

Následující příklad je součástí konzolové aplikace, která načítá gramatiku rozpoznávání řeči a demonstruje asynchronní emulovaný vstup, přidružené výsledky rozpoznávání a přidružené události vyvolané rozpoznáváním řeči. Pokud systém Windows Rozpoznávání řeči není spuštěný, spustí se také spuštění této aplikace. Pokud je Rozpoznávání řeči ve Windows ve stavu spánku , EmulateRecognizeAsync vrátí vždy hodnotu null.

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

Poznámky

Rozpoznávatelé, které se dodávají s Vista a Windows 7, při použití gramatických pravidel na vstupní frázi ignorují šířku písmen a znaků. Další informace o tomto typu porovnání najdete ve výčtu CompareOptions hodnot OrdinalIgnoreCase a IgnoreWidth. Rozpoznávatelé také ignorují nové řádky a nadbytečné prázdné znaky a zacházejí s interpunkcí jako s literálovým vstupem.

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem EmulateRecognize(String).

Viz také

Platí pro

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Zdroj:
SpeechRecognizer.cs
Zdroj:
SpeechRecognizer.cs
Zdroj:
SpeechRecognizer.cs

Emuluje vstup určitých slov do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnání slov v kódování Unicode a načtené gramatiky rozpoznávání řeči.

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)

Parametry

wordUnits
RecognizedWordUnit[]

Pole slov jednotek, které obsahuje vstup pro operaci rozpoznávání.

compareOptions
CompareOptions

Bitové kombinace hodnot výčtu, které popisují typ porovnání, který se má použít pro operaci emulovaného rozpoznávání.

Poznámky

Tato metoda vytvoří RecognitionResult objekt pomocí informací uvedených v parametru wordUnits .

Rozpoznávatel použije compareOptions při použití gramatických pravidel na vstupní frázi. Rozpoznávatelé, které se dodávají s Vista a Windows 7, ignorují případ, pokud OrdinalIgnoreCase je hodnota nebo IgnoreCase . Rozpoznávatelé vždy ignorují šířku znaku a nikdy neignorují typ Kana. Rozpoznávatelé také ignorují nové řádky a nadbytečné prázdné znaky a zacházejí s interpunkcí jako s literálovým vstupem. Další informace o šířce znaku a typu Kana najdete ve výčtu CompareOptions .

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem EmulateRecognize(RecognizedWordUnit[], CompareOptions).

Viz také

Platí pro

EmulateRecognizeAsync(String, CompareOptions)

Zdroj:
SpeechRecognizer.cs
Zdroj:
SpeechRecognizer.cs
Zdroj:
SpeechRecognizer.cs

Emuluje vstup fráze do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnání mezi frází a načtenou gramatikou rozpoznávání řeči v kódování Unicode.

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)

Parametry

inputText
String

Vstupní fráze pro operaci rozpoznávání.

compareOptions
CompareOptions

Bitové kombinace hodnot výčtu, které popisují typ porovnání, který se má použít pro operaci emulovaného rozpoznávání.

Poznámky

Rozpoznávatel použije compareOptions při použití gramatických pravidel na vstupní frázi. Rozpoznávatelé, které se dodávají s Vista a Windows 7, ignorují případ, pokud OrdinalIgnoreCase je hodnota nebo IgnoreCase . Rozpoznávatelé vždy ignorují šířku znaku a nikdy neignorují typ Kana. Rozpoznávatelé také ignorují nové řádky a nadbytečné prázdné znaky a zacházejí s interpunkcí jako s literálovým vstupem. Další informace o šířce znaku a typu Kana najdete ve výčtu CompareOptions .

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem EmulateRecognize(String, CompareOptions).

Viz také

Platí pro