SpeechRecognizer.EmulateRecognizeAsync Methode

Definitie

Emulatie van invoer voor de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor asynchrone spraakherkenning.

Overloads

Name Description
EmulateRecognizeAsync(String)

Emulatie van invoer van een woordgroep aan de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor asynchrone spraakherkenning.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emulatie van invoer van specifieke woorden aan de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor asynchrone spraakherkenning en wordt aangegeven hoe de recognizer Unicode-vergelijking verwerkt tussen de woorden en de geladen grammatica voor spraakherkenning.

EmulateRecognizeAsync(String, CompareOptions)

Emulatie van invoer van een woordgroep voor de gedeelde spraakherkenning, met behulp van tekst in plaats van audio voor asynchrone spraakherkenning en geeft aan hoe de recognizer Unicode-vergelijking tussen de woordgroep en de geladen grammatica's voor spraakherkenning verwerkt.

Opmerkingen

Met deze methoden wordt de audio-invoer van het systeem overgeslagen. Dit kan handig zijn bij het testen of opsporen van fouten in een toepassing of grammatica.

De shared recognizer verhoogt de SpeechDetected, SpeechHypothesizeden SpeechRecognitionRejectedSpeechRecognized gebeurtenissen alsof de herkenningsbewerking niet wordt geëmuleerd. Wanneer de recognizer de asynchrone herkenningsbewerking voltooit, wordt de EmulateRecognizeCompleted gebeurtenis gegenereerd. De recognizer negeert nieuwe regels en extra witruimte en behandelt interpunctie als letterlijke invoer.

Note

Als Windows Spraakherkenning de status Sleeping heeft, verwerkt de gedeelde herkenning geen invoer en wordt de SpeechDetected en gerelateerde gebeurtenissen niet gegenereerd, maar wordt de gebeurtenis EmulateRecognizeCompleted nog steeds gegenereerd.

Note

Het RecognitionResult object dat door de gedeelde recognizer wordt gegenereerd als reactie op geëmuleerde invoer, heeft een waarde voor null de Audio eigenschap.

Gebruik de EmulateRecognize methode om synchrone herkenning te emuleren.

EmulateRecognizeAsync(String)

Bron:
SpeechRecognizer.cs
Bron:
SpeechRecognizer.cs
Bron:
SpeechRecognizer.cs
Bron:
SpeechRecognizer.cs

Emulatie van invoer van een woordgroep aan de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor asynchrone spraakherkenning.

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

Parameters

inputText
String

De invoer voor de herkenningsbewerking.

Voorbeelden

Het volgende voorbeeld maakt deel uit van een consoletoepassing die een grammatica van spraakherkenning laadt en asynchrone geëmuleerde invoer demonstreert, de bijbehorende herkenningsresultaten en de bijbehorende gebeurtenissen die door de spraakherkenning worden gegenereerd. Als Windows Spraakherkenning niet wordt uitgevoerd, wordt het starten van deze toepassing ook gestart Windows Spraakherkenning. Als Windows Spraakherkenning de status Sleeping heeft, retourneert EmulateRecognizeAsync altijd 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;
    }
  }
}

Opmerkingen

De recognizers die worden verzonden met Vista en Windows 7 de breedte van hoofdletters en tekens negeren bij het toepassen van grammaticaregels op de invoerzin. Zie de CompareOptions opsommingswaarden OrdinalIgnoreCase en IgnoreWidthvoor meer informatie over dit type vergelijking. De recognizers negeren ook nieuwe regels en extra witruimte en behandelen interpunctie als letterlijke invoer.

Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door EmulateRecognize(String)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.

Zie ook

Van toepassing op

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Bron:
SpeechRecognizer.cs
Bron:
SpeechRecognizer.cs
Bron:
SpeechRecognizer.cs
Bron:
SpeechRecognizer.cs

Emulatie van invoer van specifieke woorden aan de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor asynchrone spraakherkenning en wordt aangegeven hoe de recognizer Unicode-vergelijking verwerkt tussen de woorden en de geladen grammatica voor spraakherkenning.

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)

Parameters

wordUnits
RecognizedWordUnit[]

Een matrix van woordeenheden die de invoer voor de herkenningsbewerking bevat.

compareOptions
CompareOptions

Een bitsgewijze combinatie van de opsommingswaarden die het type vergelijking beschrijven dat moet worden gebruikt voor de geëmuleerde herkenningsbewerking.

Opmerkingen

Met deze methode maakt u een RecognitionResult object met behulp van de informatie in de wordUnits parameter.

De recognizer gebruikt de compareOptions wanneer grammaticaregels worden toegepast op de invoerzin. De recognizers die worden verzonden met Vista en Windows 7 negeren hoofdletters als de waarde OrdinalIgnoreCase of IgnoreCase aanwezig is. De recognizers negeren altijd de tekenbreedte en negeren nooit het Kana-type. De recognizers negeren ook nieuwe regels en extra witruimte en behandelt interpunctie als letterlijke invoer. Zie de opsomming voor meer informatie over de tekenbreedte en het CompareOptions Kana-type.

Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door EmulateRecognize(RecognizedWordUnit[], CompareOptions)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.

Zie ook

Van toepassing op

EmulateRecognizeAsync(String, CompareOptions)

Bron:
SpeechRecognizer.cs
Bron:
SpeechRecognizer.cs
Bron:
SpeechRecognizer.cs
Bron:
SpeechRecognizer.cs

Emulatie van invoer van een woordgroep voor de gedeelde spraakherkenning, met behulp van tekst in plaats van audio voor asynchrone spraakherkenning en geeft aan hoe de recognizer Unicode-vergelijking tussen de woordgroep en de geladen grammatica's voor spraakherkenning verwerkt.

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)

Parameters

inputText
String

De invoerterm voor de herkenningsbewerking.

compareOptions
CompareOptions

Een bitsgewijze combinatie van de opsommingswaarden die het type vergelijking beschrijven dat moet worden gebruikt voor de geëmuleerde herkenningsbewerking.

Opmerkingen

De recognizer gebruikt de compareOptions wanneer grammaticaregels worden toegepast op de invoerzin. De recognizers die worden verzonden met Vista en Windows 7 negeren hoofdletters als de waarde OrdinalIgnoreCase of IgnoreCase aanwezig is. De recognizers negeren altijd de tekenbreedte en negeren nooit het Kana-type. De recognizers negeren ook nieuwe regels en extra witruimte en behandelt interpunctie als letterlijke invoer. Zie de opsomming voor meer informatie over de tekenbreedte en het CompareOptions Kana-type.

Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door EmulateRecognize(String, CompareOptions)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.

Zie ook

Van toepassing op