Udostępnij za pośrednictwem


SpeechRecognizer.EmulateRecognizeAsync Metoda

Definicja

Emuluje dane wejściowe do rozpoznawania mowy udostępnionej przy użyciu tekstu zamiast dźwięku do asynchronicznego rozpoznawania mowy.

Przeciążenia

EmulateRecognizeAsync(String)

Emuluje dane wejściowe frazy do rozpoznawania mowy udostępnionej przy użyciu tekstu zamiast dźwięku do asynchronicznego rozpoznawania mowy.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emuluje dane wejściowe określonych słów do rozpoznawania mowy udostępnionej, używając tekstu zamiast dźwięku do asynchronicznego rozpoznawania mowy i określa sposób, w jaki funkcja rozpoznawania mowy obsługuje porównanie Unicode między wyrazami a załadowaną gramatyką rozpoznawania mowy.

EmulateRecognizeAsync(String, CompareOptions)

Emuluje dane wejściowe frazy do rozpoznawania mowy udostępnionej, używając tekstu zamiast dźwięku do asynchronicznego rozpoznawania mowy i określa sposób obsługi porównania Unicode między frazą a załadowaną gramatyką rozpoznawania mowy.

Uwagi

Te metody pomijają dane wejściowe audio systemu. Może to być przydatne podczas testowania lub debugowania aplikacji lub gramatyki.

Współużytkowany rozpoznawanie SpeechDetectedzgłasza zdarzenia , , SpeechHypothesizedSpeechRecognitionRejectedi SpeechRecognized tak, jakby operacja rozpoznawania nie została emulowana. Gdy rozpoznawanie zakończy operację rozpoznawania asynchronicznego, zgłasza EmulateRecognizeCompleted zdarzenie. Rozpoznawanie ignoruje nowe wiersze i dodatkowe białe znaki i traktuje znaki interpunkcyjne jako dane wejściowe literału.

Uwaga

Jeśli rozpoznawanie mowy systemu Windows jest w stanie uśpienia , współużytkowany rozpoznawanie nie przetwarza danych wejściowych i nie zgłasza SpeechDetected powiązanych zdarzeń, ale nadal zgłasza EmulateRecognizeCompleted zdarzenie.

Uwaga

RecognitionResult Obiekt wygenerowany przez współużytkowany rozpoznawanie w odpowiedzi na emulowane dane wejściowe ma wartość null dla jego Audio właściwości.

Aby emulować rozpoznawanie synchroniczne, użyj EmulateRecognize metody .

EmulateRecognizeAsync(String)

Źródło:
SpeechRecognizer.cs
Źródło:
SpeechRecognizer.cs
Źródło:
SpeechRecognizer.cs

Emuluje dane wejściowe frazy do rozpoznawania mowy udostępnionej przy użyciu tekstu zamiast dźwięku do asynchronicznego rozpoznawania mowy.

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

Dane wejściowe operacji rozpoznawania.

Przykłady

Poniższy przykład jest częścią aplikacji konsolowej, która ładuje gramatykę rozpoznawania mowy i demonstruje dane wejściowe emulowane asynchronicznie, skojarzone wyniki rozpoznawania i skojarzone zdarzenia zgłaszane przez rozpoznawanie mowy. Jeśli rozpoznawanie mowy systemu Windows nie jest uruchomione, uruchomienie tej aplikacji spowoduje również uruchomienie rozpoznawania mowy systemu Windows. Jeśli rozpoznawanie mowy systemu Windows jest w stanie uśpienia , EmulateRecognizeAsync zawsze zwraca wartość 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;  
    }  
  }  
}

Uwagi

Rozpoznawanie, które są dostarczane z vista i Windows 7 ignorują wielkość liter i szerokości znaków podczas stosowania reguł gramatycznych do frazy wejściowej. Aby uzyskać więcej informacji na temat tego typu porównania, zobacz CompareOptions wartości OrdinalIgnoreCase wyliczenia i IgnoreWidth. Rozpoznawanie ignoruje również nowe wiersze i dodatkowe białe znaki i traktują znaki interpunkcyjne jako dane wejściowe literału.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez EmulateRecognize(String)usługę .

Zobacz też

Dotyczy

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Źródło:
SpeechRecognizer.cs
Źródło:
SpeechRecognizer.cs
Źródło:
SpeechRecognizer.cs

Emuluje dane wejściowe określonych słów do rozpoznawania mowy udostępnionej, używając tekstu zamiast dźwięku do asynchronicznego rozpoznawania mowy i określa sposób, w jaki funkcja rozpoznawania mowy obsługuje porównanie Unicode między wyrazami a załadowaną gramatyką rozpoznawania mowy.

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[]

Tablica jednostek wyrazów, która zawiera dane wejściowe dla operacji rozpoznawania.

compareOptions
CompareOptions

Bitowa kombinacja wartości wyliczenia opisujących typ porównania do użycia dla emulowanej operacji rozpoznawania.

Uwagi

Ta metoda tworzy RecognitionResult obiekt przy użyciu informacji podanych w parametrze wordUnits .

Rozpoznawanie używa metody compareOptions , gdy stosuje reguły gramatyczne do frazy wejściowej. Osoby rozpoznające, które są dostarczane z systemem Vista i Windows 7 ignorują przypadek, jeśli OrdinalIgnoreCase wartość lub IgnoreCase jest obecna. Rozpoznawanie zawsze ignoruje szerokość znaku i nigdy nie ignoruje typu Kana. Rozpoznawanie ignoruje również nowe wiersze i dodatkowe odstępy i traktuje znaki interpunkcyjne jako dane wejściowe literału. Aby uzyskać więcej informacji na temat szerokości znaków i typu Kana, zobacz wyliczenie CompareOptions .

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez EmulateRecognize(RecognizedWordUnit[], CompareOptions)usługę .

Zobacz też

Dotyczy

EmulateRecognizeAsync(String, CompareOptions)

Źródło:
SpeechRecognizer.cs
Źródło:
SpeechRecognizer.cs
Źródło:
SpeechRecognizer.cs

Emuluje dane wejściowe frazy do rozpoznawania mowy udostępnionej, używając tekstu zamiast dźwięku do asynchronicznego rozpoznawania mowy i określa sposób obsługi porównania Unicode między frazą a załadowaną gramatyką rozpoznawania mowy.

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

Fraza wejściowa dla operacji rozpoznawania.

compareOptions
CompareOptions

Bitowa kombinacja wartości wyliczenia opisujących typ porównania do użycia dla emulowanej operacji rozpoznawania.

Uwagi

Rozpoznawanie używa metody compareOptions , gdy stosuje reguły gramatyczne do frazy wejściowej. Osoby rozpoznające, które są dostarczane z systemem Vista i Windows 7 ignorują przypadek, jeśli OrdinalIgnoreCase wartość lub IgnoreCase jest obecna. Rozpoznawanie zawsze ignoruje szerokość znaku i nigdy nie ignoruje typu Kana. Rozpoznawanie ignoruje również nowe wiersze i dodatkowe odstępy i traktuje znaki interpunkcyjne jako dane wejściowe literału. Aby uzyskać więcej informacji na temat szerokości znaków i typu Kana, zobacz wyliczenie CompareOptions .

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez EmulateRecognize(String, CompareOptions)usługę .

Zobacz też

Dotyczy