Share via


SpeechRecognitionEngine.EmulateRecognizeAsync Yöntem

Tanım

Zaman uyumsuz konuşma tanıma için ses yerine metin kullanarak konuşma tanıyıcısına girişi öyküner.

Aşırı Yüklemeler

EmulateRecognizeAsync(String)

Zaman uyumsuz konuşma tanıma için ses yerine metin kullanarak bir tümceciği konuşma tanıyıcısına öyküner.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Zaman uyumsuz konuşma tanıma için ses yerine bir RecognizedWordUnit dizi nesne kullanarak konuşma tanıyıcısına belirli sözcüklerin girişini öyküner ve tanıyıcının sözcüklerle yüklenen konuşma tanıma dil bilgileri arasındaki Unicode karşılaştırmasını nasıl işlediğini belirtir.

EmulateRecognizeAsync(String, CompareOptions)

Zaman uyumsuz konuşma tanıma için ses yerine metin kullanarak bir tümceciği konuşma tanıyıcısına öyküner ve tanıyıcının tümcecikle yüklenen konuşma tanıma dil bilgisi arasındaki Unicode karşılaştırmasını nasıl işlediğini belirtir.

Açıklamalar

Bu yöntemler sistem ses girişini atlar ve tanıyıcıya nesne olarak veya bir nesne dizisi RecognizedWordUnit olarak String metin sağlar. Bu, bir uygulamayı veya dil bilgisini test ederken veya hata ayıklarken yararlı olabilir. Örneğin, bir sözcüğün dil bilgisi içinde olup olmadığını ve sözcük tanındığında hangi semantiğin döndürüleceğini belirlemek için öykünme kullanabilirsiniz. Öykünme SetInputToNull işlemleri sırasında konuşma tanıma altyapısına ses girişini devre dışı bırakmak için yöntemini kullanın.

Konuşma tanıyıcı, , SpeechHypothesized, SpeechRecognitionRejectedve SpeechRecognized olaylarınıSpeechDetected, tanıma işlemi öykünülmemesi gibi oluşturur. Tanıyıcı zaman uyumsuz tanıma işlemini tamamladığında olayı tetikler EmulateRecognizeCompleted . Tanıyıcı yeni çizgileri ve fazladan boşlukları yoksayar ve noktalama işaretlerini değişmez değer girişi olarak kabul eder.

Not

RecognitionResult Öykünülmüş girişe yanıt olarak konuşma tanıyıcısı tarafından oluşturulan nesnenin özelliği için Audio değeri null vardır.

Zaman uyumlu tanımaya öykünmek için yöntemini kullanın EmulateRecognize .

EmulateRecognizeAsync(String)

Kaynak:
SpeechRecognitionEngine.cs
Kaynak:
SpeechRecognitionEngine.cs
Kaynak:
SpeechRecognitionEngine.cs

Zaman uyumsuz konuşma tanıma için ses yerine metin kullanarak bir tümceciği konuşma tanıyıcısına öyküner.

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

Parametreler

inputText
String

Tanıma işleminin girişi.

Özel durumlar

Tanıyıcının yüklü konuşma tanıma dil bilgisi yok veya tanıyıcının henüz tamamlanmamış zaman uyumsuz bir tanıma işlemi var.

inputText, null değeridir.

inputText boş dizedir ("").

Örnekler

Aşağıdaki kod örneği, zaman uyumsuz öykünülmüş girişi, ilişkili tanıma sonuçlarını ve konuşma tanıyıcı tarafından tetiklenen ilişkili olayları gösteren bir konsol uygulamasının parçasıdır. Örnek aşağıdaki çıkışı oluşturur.

TestRecognizeAsync("Smith")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Smith; Text = Smith  
 EmulateRecognizeCompleted event raised.  
  Grammar = Smith; Text = Smith  
 Done.  

TestRecognizeAsync("Jones")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Jones; Text = Jones  
 EmulateRecognizeCompleted event raised.  
  Grammar = Jones; Text = Jones  
 Done.  

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

TestRecognizeAsync("Mister Smith")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Smith; Text = mister Smith  
 EmulateRecognizeCompleted event raised.  
  Grammar = Smith; Text = mister Smith  
 Done.  

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

namespace SreEmulateRecognizeAsync  
{  
  class Program  
  {  
    // Indicate when an asynchronous operation is finished.  
    static bool completed;  

    static void Main(string[] args)  
    {  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(new CultureInfo("en-US")))  
      {  
        // Load grammars.  
        recognizer.LoadGrammar(CreateNameGrammar("Smith"));  
        recognizer.LoadGrammar(CreateNameGrammar("Jones"));  

        // Configure the audio input.  
        recognizer.SetInputToNull();  

        // Add event handlers for the events raised by the  
        // EmulateRecognizeAsync 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);  
        recognizer.EmulateRecognizeCompleted +=  
          new EventHandler<EmulateRecognizeCompletedEventArgs>(  
            EmulateRecognizeCompletedHandler);  

        // Start four asynchronous emulated recognition operations.  
        TestRecognizeAsync(recognizer, "Smith");  
        TestRecognizeAsync(recognizer, "Jones");  
        TestRecognizeAsync(recognizer, "Mister");  
        TestRecognizeAsync(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 asynchronous  
    // recognition.  
    private static void TestRecognizeAsync(  
      SpeechRecognitionEngine recognizer, string input)  
    {  
      completed = false;  

      Console.WriteLine("TestRecognizeAsync(\"{0}\")...", input);  
      recognizer.EmulateRecognizeAsync(input);  

      // Wait for the operation to complete.  
      while (!completed)  
      {  
        Thread.Sleep(333);  
      }  

      Console.WriteLine(" Done.");  
      Console.WriteLine();  
    }  

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

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

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

    static void EmulateRecognizeCompletedHandler(  
      object sender, EmulateRecognizeCompletedEventArgs e)  
    {  
      Console.WriteLine(" EmulateRecognizeCompleted event raised.");  

      if (e.Error != null)  
      {  
        Console.WriteLine("  {0} exception encountered: {1}:",  
          e.Error.GetType().Name, e.Error.Message);  
      }  
      else if (e.Cancelled)  
      {  
        Console.WriteLine("  Operation cancelled.");  
      }  
      else 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.");  
      }  

      completed = true;  
    }  
  }  
}

Açıklamalar

Konuşma tanıyıcı, , SpeechHypothesized, SpeechRecognitionRejectedve SpeechRecognized olaylarınıSpeechDetected, tanıma işlemi öykünülmemesi gibi oluşturur. Tanıyıcı zaman uyumsuz tanıma işlemini tamamladığında olayı tetikler EmulateRecognizeCompleted .

Vista ve Windows 7 ile birlikte gelen tanıyıcılar, giriş tümceciğine dil bilgisi kuralları uygularken büyük/küçük harf ve karakter genişliğini yoksayar. Bu karşılaştırma türü hakkında daha fazla bilgi için, ve numaralandırma değerlerine CompareOptionsOrdinalIgnoreCaseIgnoreWidthbakın. Tanıyıcılar ayrıca yeni çizgileri ve fazladan boşlukları yoksayar ve noktalama işaretlerini değişmez değer girişi olarak değerlendirir.

Bu yöntem, yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanıyorsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine de zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan EmulateRecognize(String)özel durumlara bakın.

Ayrıca bkz.

Şunlara uygulanır

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Kaynak:
SpeechRecognitionEngine.cs
Kaynak:
SpeechRecognitionEngine.cs
Kaynak:
SpeechRecognitionEngine.cs

Zaman uyumsuz konuşma tanıma için ses yerine bir RecognizedWordUnit dizi nesne kullanarak konuşma tanıyıcısına belirli sözcüklerin girişini öyküner ve tanıyıcının sözcüklerle yüklenen konuşma tanıma dil bilgileri arasındaki Unicode karşılaştırmasını nasıl işlediğini belirtir.

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)

Parametreler

wordUnits
RecognizedWordUnit[]

Tanıma işleminin girişini içeren sözcük birimleri dizisi.

compareOptions
CompareOptions

Öykünülen tanıma işlemi için kullanılacak karşılaştırma türünü açıklayan numaralandırma değerlerinin bit düzeyinde birleşimi.

Özel durumlar

Tanıyıcının yüklü konuşma tanıma dil bilgisi yok veya tanıyıcının henüz tamamlanmamış zaman uyumsuz bir tanıma işlemi var.

wordUnits, null değeridir.

wordUnits bir veya daha fazla null öğe içerir.

compareOptions, IgnoreSymbolsveya StringSort bayrağını IgnoreNonSpaceiçerir.

Açıklamalar

Konuşma tanıyıcı, , SpeechHypothesized, SpeechRecognitionRejectedve SpeechRecognized olaylarınıSpeechDetected, tanıma işlemi öykünülmemesi gibi oluşturur. Tanıyıcı zaman uyumsuz tanıma işlemini tamamladığında olayı tetikler EmulateRecognizeCompleted .

Tanıyıcı, giriş tümceciğine dil bilgisi kuralları uyguladığında kullanır compareOptions . Vista ve Windows 7 ile birlikte gelen tanıyıcılar, veya IgnoreCase değeri varsa büyük/küçük harf durumunu OrdinalIgnoreCase yoksayar. Tanıyıcılar her zaman karakter genişliğini yoksayar ve Kana türünü asla yoksayamaz. Tanıyıcılar ayrıca yeni çizgileri ve fazladan boşlukları yoksayar ve noktalama işaretlerini değişmez değer girişi olarak değerlendirir. Karakter genişliği ve Kana türü hakkında daha fazla bilgi için numaralandırmaya CompareOptions bakın.

Bu yöntem, yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanıyorsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine de zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan EmulateRecognize(RecognizedWordUnit[], CompareOptions)özel durumlara bakın.

Ayrıca bkz.

Şunlara uygulanır

EmulateRecognizeAsync(String, CompareOptions)

Kaynak:
SpeechRecognitionEngine.cs
Kaynak:
SpeechRecognitionEngine.cs
Kaynak:
SpeechRecognitionEngine.cs

Zaman uyumsuz konuşma tanıma için ses yerine metin kullanarak bir tümceciği konuşma tanıyıcısına öyküner ve tanıyıcının tümcecikle yüklenen konuşma tanıma dil bilgisi arasındaki Unicode karşılaştırmasını nasıl işlediğini belirtir.

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)

Parametreler

inputText
String

Tanıma işlemi için giriş tümceciği.

compareOptions
CompareOptions

Öykünülen tanıma işlemi için kullanılacak karşılaştırma türünü açıklayan numaralandırma değerlerinin bit düzeyinde birleşimi.

Özel durumlar

Tanıyıcının yüklü konuşma tanıma dil bilgisi yok veya tanıyıcının henüz tamamlanmamış zaman uyumsuz bir tanıma işlemi var.

inputText, null değeridir.

inputText boş dizedir ("").

compareOptions, IgnoreSymbolsveya StringSort bayrağını IgnoreNonSpaceiçerir.

Açıklamalar

Konuşma tanıyıcı, , SpeechHypothesized, SpeechRecognitionRejectedve SpeechRecognized olaylarınıSpeechDetected, tanıma işlemi öykünülmemesi gibi oluşturur. Tanıyıcı zaman uyumsuz tanıma işlemini tamamladığında olayı tetikler EmulateRecognizeCompleted .

Tanıyıcı, giriş tümceciğine dil bilgisi kuralları uyguladığında kullanır compareOptions . Vista ve Windows 7 ile birlikte gelen tanıyıcılar, veya IgnoreCase değeri varsa büyük/küçük harf durumunu OrdinalIgnoreCase yoksayar. Tanıyıcılar her zaman karakter genişliğini yoksayar ve Kana türünü asla yoksayamaz. Tanıyıcılar ayrıca yeni çizgileri ve fazladan boşlukları yoksayar ve noktalama işaretlerini değişmez değer girişi olarak değerlendirir. Karakter genişliği ve Kana türü hakkında daha fazla bilgi için numaralandırmaya CompareOptions bakın.

Bu yöntem, yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanıyorsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine de zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan EmulateRecognize(String, CompareOptions)özel durumlara bakın.

Ayrıca bkz.

Şunlara uygulanır