Sdílet prostřednictvím


SpeechRecognitionEngine.EmulateRecognize Metoda

Definice

Emuluje vstup do rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči.

Přetížení

Name Description
EmulateRecognize(String)

Emuluje vstup fráze do rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emuluje vstup určitých slov do rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnání slov v kódu Unicode mezi slovy a gramatikou rozpoznávání řeči načtenou.

EmulateRecognize(String, CompareOptions)

Emuluje vstup fráze do rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnání výrazu Unicode mezi frází a gramatikou rozpoznávání načtené řeči.

Poznámky

Tyto metody obcházejí systémový zvukový vstup a poskytují text rozpoznávání jako String objekty nebo jako pole RecognizedWordUnit objektů. To může být užitečné při testování nebo ladění aplikace nebo gramatiky. Pomocí emulace můžete například určit, jestli je slovo v gramatikě a jaká sémantika se vrátí při rozpoznání slova. SetInputToNull Tato metoda slouží k zakázání zvukového vstupu do modulu pro rozpoznávání řeči během emulačních operací.

Rozpoznávání řeči vyvolá SpeechDetected, , SpeechHypothesizedSpeechRecognitionRejecteda SpeechRecognized události, jako by operace rozpoznávání není emulována. Rozpoznávání ignoruje nové řádky a nadbytečné prázdné znaky a považuje interpunkci za vstup literálu.

Poznámka:

Objekt RecognitionResult vygenerovaný rozpoznáváním řeči v reakci na emulovaný vstup má hodnotu null pro jeho Audio vlastnost.

K emulaci asynchronního rozpoznávání použijte metodu EmulateRecognizeAsync .

EmulateRecognize(String)

Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs

Emuluje vstup fráze do rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči.

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText);
public System.Speech.Recognition.RecognitionResult EmulateRecognize(string inputText);
member this.EmulateRecognize : string -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String) As RecognitionResult

Parametry

inputText
String

Vstup pro operaci rozpoznávání.

Návraty

Výsledek operace rozpoznávání nebo null pokud operace není úspěšná nebo není povolena funkce rozpoznávání.

Výjimky

Rozpoznávání nemá načtené žádné gramatiky rozpoznávání řeči.

inputText je null.

inputText je prázdný řetězec ("").

Příklady

Následující příklad kódu je součástí konzolové aplikace, která demonstruje emulovaný vstup, přidružené výsledky rozpoznávání a přidružené události vyvolané rozpoznáváním řeči. Příklad vygeneruje následující výstup.

TestRecognize("Smith")...
 SpeechDetected event raised.
 SpeechRecognized event raised.
  Grammar = Smith; Text = Smith
...Recognition result text = Smith

TestRecognize("Jones")...
 SpeechDetected event raised.
 SpeechRecognized event raised.
  Grammar = Jones; Text = Jones
...Recognition result text = Jones

TestRecognize("Mister")...
 SpeechDetected event raised.
 SpeechHypothesized event raised.
  Grammar = Smith; Text = mister
 SpeechRecognitionRejected event raised.
  Grammar = <not available>; Text =
...No recognition result.

TestRecognize("Mister Smith")...
 SpeechDetected event raised.
 SpeechRecognized event raised.
  Grammar = Smith; Text = mister Smith
...Recognition result text = mister Smith

press any key to exit...
using System;
using System.Globalization;
using System.Speech.Recognition;

namespace Sre_EmulateRecognize
{
  class Program
  {
    static void Main(string[] args)
    {

      // Create an in-process speech recognizer for the en-US locale.
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine(new CultureInfo("en-US")))
      {

        // Load grammars.
        recognizer.LoadGrammar(CreateNameGrammar("Smith"));
        recognizer.LoadGrammar(CreateNameGrammar("Jones"));

        // Disable audio input to the recognizer.
        recognizer.SetInputToNull();

        // Add handlers for events raised by the EmulateRecognize method.
        recognizer.SpeechDetected +=
          new EventHandler<SpeechDetectedEventArgs>(
            SpeechDetectedHandler);
        recognizer.SpeechHypothesized +=
          new EventHandler<SpeechHypothesizedEventArgs>(
            SpeechHypothesizedHandler);
        recognizer.SpeechRecognitionRejected +=
          new EventHandler<SpeechRecognitionRejectedEventArgs>(
            SpeechRecognitionRejectedHandler);
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(
            SpeechRecognizedHandler);

        // Start four synchronous emulated recognition operations.
        TestRecognize(recognizer, "Smith");
        TestRecognize(recognizer, "Jones");
        TestRecognize(recognizer, "Mister");
        TestRecognize(recognizer, "Mister Smith");
      }

      Console.WriteLine("press any key to exit...");
      Console.ReadKey(true);
    }

    // Create a simple name grammar.
    // Set the grammar name to the surname.
    private static Grammar CreateNameGrammar(string surname)
    {
      GrammarBuilder builder = new GrammarBuilder("mister", 0, 1);
      builder.Append(surname);

      Grammar nameGrammar = new Grammar(builder);
      nameGrammar.Name = surname;

      return nameGrammar;
    }

    // Send emulated input to the recognizer for synchronous recognition.
    private static void TestRecognize(
      SpeechRecognitionEngine recognizer, string input)
    {
      Console.WriteLine("TestRecognize(\"{0}\")...", input);
      RecognitionResult result =
        recognizer.EmulateRecognize(input,CompareOptions.IgnoreCase);
      if (result != null)
      {
        Console.WriteLine("...Recognition result text = {0}",
          result.Text ?? "<null>");
      }
      else
      {
        Console.WriteLine("...No recognition result.");
      }
      Console.WriteLine();
    }

    static void SpeechDetectedHandler(
      object sender, SpeechDetectedEventArgs e)
    {
      Console.WriteLine(" SpeechDetected event raised.");
    }

    // Handle events.
    static void SpeechHypothesizedHandler(
      object sender, SpeechHypothesizedEventArgs e)
    {
      Console.WriteLine(" SpeechHypothesized event raised.");
      if (e.Result != null)
      {
        Console.WriteLine("  Grammar = {0}; Text = {1}",
          e.Result.Grammar.Name ?? "<none>", e.Result.Text);
      }
      else
      {
        Console.WriteLine("  No recognition result available.");
      }
    }

    static void SpeechRecognitionRejectedHandler(
      object sender, SpeechRecognitionRejectedEventArgs e)
    {
      Console.WriteLine(" SpeechRecognitionRejected event raised.");
      if (e.Result != null)
      {
        string grammarName;
        if (e.Result.Grammar != null)
        {
          grammarName = e.Result.Grammar.Name ?? "<none>";
        }
        else
        {
          grammarName = "<not available>";
        }
        Console.WriteLine("  Grammar = {0}; Text = {1}",
          grammarName, e.Result.Text);
      }
      else
      {
        Console.WriteLine("  No recognition result available.");
      }
    }

    static void SpeechRecognizedHandler(
      object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine(" SpeechRecognized event raised.");
      if (e.Result != null)
      {
        Console.WriteLine("  Grammar = {0}; Text = {1}",
          e.Result.Grammar.Name ?? "<none>", e.Result.Text);
      }
      else
      {
        Console.WriteLine("  No recognition result available.");
      }
    }
  }
}

Poznámky

Rozpoznávání řeči vyvolá SpeechDetected, , SpeechHypothesizedSpeechRecognitionRejecteda SpeechRecognized události, jako by operace rozpoznávání není emulována.

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.

Viz také

Platí pro

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs

Emuluje vstup určitých slov do rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnání slov v kódu Unicode mezi slovy a gramatikou rozpoznávání řeči načtenou.

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

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í.

Návraty

Výsledek operace rozpoznávání nebo null pokud operace není úspěšná nebo není povolena funkce rozpoznávání.

Výjimky

Rozpoznávání nemá načtené žádné gramatiky rozpoznávání řeči.

wordUnits je null.

wordUnits obsahuje jeden nebo více null prvků.

compareOptions IgnoreNonSpaceobsahuje , IgnoreSymbolsnebo StringSort příznak.

Poznámky

Rozpoznávání řeči vyvolá SpeechDetected, , SpeechHypothesizedSpeechRecognitionRejecteda SpeechRecognized události, jako by operace rozpoznávání není emulována.

Rozpoznávání používá compareOptions při použití gramatických pravidel pro vstupní frázi. 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 ignoruje šířku znaků a nikdy ignoruje typ Kana. Rozpoznávání také ignoruje nové řádky a nadbytečné prázdné znaky a považuje interpunkci za vstup literálu. Další informace o šířce znaků a typu Kana naleznete v výčtu CompareOptions .

Viz také

Platí pro

EmulateRecognize(String, CompareOptions)

Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs

Emuluje vstup fráze do rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnání výrazu Unicode mezi frází a gramatikou rozpoznávání načtené řeči.

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize(string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : string * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String, compareOptions As CompareOptions) As RecognitionResult

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í.

Návraty

Výsledek operace rozpoznávání nebo null pokud operace není úspěšná nebo není povolena funkce rozpoznávání.

Výjimky

Rozpoznávání nemá načtené žádné gramatiky rozpoznávání řeči.

inputText je null.

inputText je prázdný řetězec ("").

compareOptions IgnoreNonSpaceobsahuje , IgnoreSymbolsnebo StringSort příznak.

Poznámky

Rozpoznávání řeči vyvolá SpeechDetected, , SpeechHypothesizedSpeechRecognitionRejecteda SpeechRecognized události, jako by operace rozpoznávání není emulována.

Rozpoznávání používá compareOptions při použití gramatických pravidel pro vstupní frázi. 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 ignoruje šířku znaků a nikdy ignoruje typ Kana. Rozpoznávání také ignoruje nové řádky a nadbytečné prázdné znaky a považuje interpunkci za vstup literálu. Další informace o šířce znaků a typu Kana naleznete v výčtu CompareOptions .

Viz také

Platí pro