SpeechRecognitionEngine.EmulateRecognize Metod

Definition

Emulerar indata till taligenkänningen med hjälp av text i stället för ljud för synkron taligenkänning.

Överlagringar

Name Description
EmulateRecognize(String)

Emulerar indata från en fras till taligenkänningen med hjälp av text i stället för ljud för synkron taligenkänning.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emulerar indata från specifika ord till taligenkänningen, med hjälp av text i stället för ljud för synkron taligenkänning, och anger hur identifieraren hanterar Unicode-jämförelse mellan orden och den inlästa taligenkänningens grammatik.

EmulateRecognize(String, CompareOptions)

Emulerar indata från en fras till taligenkänningen, med hjälp av text i stället för ljud för synkron taligenkänning, och anger hur identifieraren hanterar Unicode-jämförelse mellan frasen och den inlästa taligenkänningens grammatik.

Kommentarer

Dessa metoder kringgår systemets ljudindata och ger text till identifieraren som String objekt eller som en matris med RecognizedWordUnit objekt. Detta kan vara användbart när du testar eller felsöker ett program eller grammatik. Du kan till exempel använda emulering för att avgöra om ett ord finns i en grammatik och vilka semantik som returneras när ordet känns igen. SetInputToNull Använd metoden för att inaktivera ljudindata till taligenkänningsmotorn under emuleringsåtgärder.

Taligenkänningen genererar SpeechDetectedhändelserna , SpeechHypothesized, SpeechRecognitionRejectedoch SpeechRecognized som om igenkänningsåtgärden inte emuleras. Identifieraren ignorerar nya linjer och extra tomt utrymme och behandlar skiljetecken som literalindata.

Note

Objektet RecognitionResult som genereras av taligenkänningen som svar på emulerade indata har värdet null för dess Audio egenskap.

Använd metoden för EmulateRecognizeAsync att emulera asynkron igenkänning.

EmulateRecognize(String)

Källa:
SpeechRecognitionEngine.cs
Källa:
SpeechRecognitionEngine.cs
Källa:
SpeechRecognitionEngine.cs
Källa:
SpeechRecognitionEngine.cs

Emulerar indata från en fras till taligenkänningen med hjälp av text i stället för ljud för synkron taligenkänning.

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText);
public System.Speech.Recognition.RecognitionResult? EmulateRecognize(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

Parametrar

inputText
String

Indata för igenkänningsåtgärden.

Returer

Resultatet för igenkänningsåtgärden, eller null om åtgärden inte lyckas eller om identifieraren inte är aktiverad.

Undantag

Identifieraren har inga grammatiker för taligenkänning inlästa.

inputText är null.

inputText är den tomma strängen ("").

Exempel

Kodexemplet nedan är en del av ett konsolprogram som visar emulerade indata, associerade igenkänningsresultat och associerade händelser som genereras av taligenkänningen. Exemplet genererar följande utdata.

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.");
      }
    }
  }
}

Kommentarer

Taligenkänningen genererar SpeechDetectedhändelserna , SpeechHypothesized, SpeechRecognitionRejectedoch SpeechRecognized som om igenkänningsåtgärden inte emuleras.

De identifierare som levereras med Vista och Windows 7 ignorera skiftläge och teckenbredd när grammatikregler tillämpas på indatafrasen. Mer information om den här typen av jämförelse finns i CompareOptions uppräkningsvärdena OrdinalIgnoreCase och IgnoreWidth. Igenkännarna ignorerar också nya linjer och extra tomt utrymme och behandlar skiljetecken som literalindata.

Se även

Gäller för

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Källa:
SpeechRecognitionEngine.cs
Källa:
SpeechRecognitionEngine.cs
Källa:
SpeechRecognitionEngine.cs
Källa:
SpeechRecognitionEngine.cs

Emulerar indata från specifika ord till taligenkänningen, med hjälp av text i stället för ljud för synkron taligenkänning, och anger hur identifieraren hanterar Unicode-jämförelse mellan orden och den inlästa taligenkänningens grammatik.

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

Parametrar

wordUnits
RecognizedWordUnit[]

En matris med ordenheter som innehåller indata för igenkänningsåtgärden.

compareOptions
CompareOptions

En bitvis kombination av uppräkningsvärdena som beskriver vilken typ av jämförelse som ska användas för den emulerade igenkänningsåtgärden.

Returer

Resultatet för igenkänningsåtgärden, eller null om åtgärden inte lyckas eller om identifieraren inte är aktiverad.

Undantag

Identifieraren har inga grammatiker för taligenkänning inlästa.

wordUnits är null.

wordUnits innehåller ett eller flera null element.

compareOptions innehåller IgnoreNonSpaceflaggan , IgnoreSymbolseller StringSort .

Kommentarer

Taligenkänningen genererar SpeechDetectedhändelserna , SpeechHypothesized, SpeechRecognitionRejectedoch SpeechRecognized som om igenkänningsåtgärden inte emuleras.

Identifieraren använder compareOptions när den tillämpar grammatikregler på indatafrasen. De identifierare som levereras med Vista och Windows 7 ignorera fall om värdet OrdinalIgnoreCase eller IgnoreCase finns. Identifieraren ignorerar alltid teckenbredden och ignorerar aldrig Kana-typen. Identifieraren ignorerar också nya linjer och extra tomt utrymme och behandlar skiljetecken som literalindata. Mer information om teckenbredd och Kana-typ finns i CompareOptions uppräkningen.

Se även

Gäller för

EmulateRecognize(String, CompareOptions)

Källa:
SpeechRecognitionEngine.cs
Källa:
SpeechRecognitionEngine.cs
Källa:
SpeechRecognitionEngine.cs
Källa:
SpeechRecognitionEngine.cs

Emulerar indata från en fras till taligenkänningen, med hjälp av text i stället för ljud för synkron taligenkänning, och anger hur identifieraren hanterar Unicode-jämförelse mellan frasen och den inlästa taligenkänningens grammatik.

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

Parametrar

inputText
String

Indatafrasen för igenkänningsåtgärden.

compareOptions
CompareOptions

En bitvis kombination av uppräkningsvärdena som beskriver vilken typ av jämförelse som ska användas för den emulerade igenkänningsåtgärden.

Returer

Resultatet för igenkänningsåtgärden, eller null om åtgärden inte lyckas eller om identifieraren inte är aktiverad.

Undantag

Identifieraren har inga grammatiker för taligenkänning inlästa.

inputText är null.

inputText är den tomma strängen ("").

compareOptions innehåller IgnoreNonSpaceflaggan , IgnoreSymbolseller StringSort .

Kommentarer

Taligenkänningen genererar SpeechDetectedhändelserna , SpeechHypothesized, SpeechRecognitionRejectedoch SpeechRecognized som om igenkänningsåtgärden inte emuleras.

Identifieraren använder compareOptions när den tillämpar grammatikregler på indatafrasen. De identifierare som levereras med Vista och Windows 7 ignorera fall om värdet OrdinalIgnoreCase eller IgnoreCase finns. Identifieraren ignorerar alltid teckenbredden och ignorerar aldrig Kana-typen. Identifieraren ignorerar också nya linjer och extra tomt utrymme och behandlar skiljetecken som literalindata. Mer information om teckenbredd och Kana-typ finns i CompareOptions uppräkningen.

Se även

Gäller för