Sdílet prostřednictvím


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í

Name Description
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 konkrétních slov do rozpoznávání sdíleného řeči, používá text místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací modul zpracovává porovnání slov v kódování Unicode mezi slovy a gramatikou rozpoznávání načtené řeči.

EmulateRecognizeAsync(String, CompareOptions)

Emuluje vstup fráze do sdíleného rozpoznávání řeči, používá text místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací modul zpracovává porovnání znaků Unicode mezi frází a načtenými gramatikami rozpoznávání řeči.

Poznámky

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

Sdílený rozpoznávací proces vyvolá SpeechDetectedudálost , SpeechHypothesizedSpeechRecognitionRejected, a SpeechRecognized události, 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 považuje interpunkci za vstup literálu.

Poznámka:

Pokud je rozpoznávání řeči systému Windows ve stavu spánku , sdílený rozpoznávací nástroj nezpracuje vstup a nevyvolá SpeechDetected související události, ale přesto vyvolá EmulateRecognizeCompleted událost.

Poznámka:

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

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

EmulateRecognizeAsync(String)

Zdroj:
SpeechRecognizer.cs
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čte 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 není spuštěné rozpoznávání řeči systému Windows, spustí se také spuštění této aplikace. Pokud je rozpoznávání řeči systému Windows ve stavu spánku , vždy EmulateRecognizeAsync vrátí 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ávání, které se dodává s Vista a Windows 7 ignorovat velká a znaková šířka při použití gramatických pravidel pro vstupní frázi. Další informace o tomto typu porovnání naleznete v výčtu CompareOptions hodnot OrdinalIgnoreCase a IgnoreWidth. Rozpoznávání také ignorují nové řádky a nadbytečné prázdné znaky a zachází s interpunkcí jako se vstupem literálu.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané EmulateRecognize(String).

Viz také

Platí pro

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

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

Emuluje vstup konkrétních slov do rozpoznávání sdíleného řeči, používá text místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací modul zpracovává porovnání slov v kódování Unicode mezi slovy a gramatikou rozpoznávání načtené ř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 jednotek slova, 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 emulovanou operaci rozpoznávání.

Poznámky

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

Rozpoznávání používá compareOptions , když na vstupní frázi použije gramatická pravidla. Rozpoznávání, které se dodává se systémem Vista a Windows 7, ignorují případ, pokud OrdinalIgnoreCase je k dispozici nebo IgnoreCase hodnota. Rozpoznávání vždy ignorují šířku znaků a nikdy ignorují typ Kana. Rozpoznávání také ignorují nové řádky a nadbytečné prázdné znaky a zachází s interpunkcí jako se vstupem literálu. Další informace o šířce znaků a typu Kana naleznete v výčtu CompareOptions .

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané EmulateRecognize(RecognizedWordUnit[], CompareOptions).

Viz také

Platí pro

EmulateRecognizeAsync(String, CompareOptions)

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

Emuluje vstup fráze do sdíleného rozpoznávání řeči, používá text místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací modul zpracovává porovnání znaků Unicode mezi frází a načtenými gramatikami rozpoznávání řeči.

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 emulovanou operaci rozpoznávání.

Poznámky

Rozpoznávání používá compareOptions , když na vstupní frázi použije gramatická pravidla. Rozpoznávání, které se dodává se systémem Vista a Windows 7, ignorují případ, pokud OrdinalIgnoreCase je k dispozici nebo IgnoreCase hodnota. Rozpoznávání vždy ignorují šířku znaků a nikdy ignorují typ Kana. Rozpoznávání také ignorují nové řádky a nadbytečné prázdné znaky a zachází s interpunkcí jako se vstupem literálu. Další informace o šířce znaků a typu Kana naleznete v výčtu CompareOptions .

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané EmulateRecognize(String, CompareOptions).

Viz také

Platí pro