Bagikan melalui


SpeechRecognitionEngine.EmulateRecognize Metode

Definisi

Meniru input ke pengenal ucapan, menggunakan teks sebagai pengganti audio untuk pengenalan ucapan yang sinkron.

Overload

EmulateRecognize(String)

Meniru input frasa ke pengenal ucapan, menggunakan teks sebagai pengganti audio untuk pengenalan ucapan yang sinkron.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Meniru input kata-kata tertentu ke pengenal ucapan, menggunakan teks sebagai pengganti audio untuk pengenalan ucapan yang sinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara kata dan tata bahasa pengenalan ucapan yang dimuat.

EmulateRecognize(String, CompareOptions)

Meniru input frasa ke pengenal ucapan, menggunakan teks sebagai pengganti audio untuk pengenalan ucapan yang sinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara frasa dan tata bahasa pengenalan ucapan yang dimuat.

Keterangan

Metode ini melewati input audio sistem dan memberikan teks ke pengenal sebagai String objek atau sebagai array RecognizedWordUnit objek. Ini dapat membantu ketika Anda menguji atau men-debug aplikasi atau tata bahasa. Misalnya, Anda dapat menggunakan emulasi untuk menentukan apakah kata berada dalam tata bahasa dan semantik apa yang dikembalikan ketika kata dikenali. SetInputToNull Gunakan metode untuk menonaktifkan input audio ke mesin pengenalan ucapan selama operasi emulasi.

Pengenal ucapan memunculkan SpeechDetectedperistiwa , SpeechHypothesized, SpeechRecognitionRejected, dan SpeechRecognized seolah-olah operasi pengenalan tidak ditimulasi. Pengenal mengabaikan baris baru dan spasi kosong ekstra dan memperlakukan tanda baca sebagai input harfiah.

Catatan

Objek RecognitionResult yang dihasilkan oleh pengenal ucapan sebagai respons terhadap input yang ditiru memiliki nilai null untuk propertinya Audio .

Untuk meniru pengenalan asinkron, gunakan metode .EmulateRecognizeAsync

EmulateRecognize(String)

Sumber:
SpeechRecognitionEngine.cs
Sumber:
SpeechRecognitionEngine.cs
Sumber:
SpeechRecognitionEngine.cs

Meniru input frasa ke pengenal ucapan, menggunakan teks sebagai pengganti audio untuk pengenalan ucapan yang sinkron.

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

Parameter

inputText
String

Input untuk operasi pengenalan.

Mengembalikan

Hasil untuk operasi pengenalan, atau null jika operasi tidak berhasil atau pengenal tidak diaktifkan.

Pengecualian

Pengenal tidak memiliki tata bahasa pengenalan ucapan yang dimuat.

inputTextadalah null.

inputText adalah string kosong ("").

Contoh

Contoh kode di bawah ini adalah bagian dari aplikasi konsol yang menunjukkan input yang ditimulasi, hasil pengenalan terkait, dan peristiwa terkait yang diangkat oleh pengenal ucapan. Contoh menghasilkan output berikut.

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

Keterangan

Pengenal ucapan memunculkan SpeechDetectedperistiwa , SpeechHypothesized, SpeechRecognitionRejected, dan SpeechRecognized seolah-olah operasi pengenalan tidak ditimulasi.

Pengenal yang dikirim dengan Vista dan Windows 7 mengabaikan huruf besar/kecil dan lebar karakter saat menerapkan aturan tata bahasa ke frasa input. Untuk informasi selengkapnya tentang jenis perbandingan ini, lihat CompareOptions nilai OrdinalIgnoreCase enumerasi dan IgnoreWidth. Pengenal juga mengabaikan baris baru dan ruang kosong ekstra dan memperlakukan tanda baca sebagai input harfiah.

Lihat juga

Berlaku untuk

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Sumber:
SpeechRecognitionEngine.cs
Sumber:
SpeechRecognitionEngine.cs
Sumber:
SpeechRecognitionEngine.cs

Meniru input kata-kata tertentu ke pengenal ucapan, menggunakan teks sebagai pengganti audio untuk pengenalan ucapan yang sinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara kata dan tata bahasa pengenalan ucapan yang dimuat.

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

Parameter

wordUnits
RecognizedWordUnit[]

Array unit kata yang berisi input untuk operasi pengenalan.

compareOptions
CompareOptions

Kombinasi bitwise dari nilai enumerasi yang menjelaskan jenis perbandingan yang digunakan untuk operasi pengenalan yang ditiru.

Mengembalikan

Hasil untuk operasi pengenalan, atau null jika operasi tidak berhasil atau pengenal tidak diaktifkan.

Pengecualian

Pengenal tidak memiliki tata bahasa pengenalan ucapan yang dimuat.

wordUnitsadalah null.

wordUnits berisi satu atau beberapa null elemen.

compareOptionsIgnoreNonSpaceberisi bendera , IgnoreSymbols, atau StringSort .

Keterangan

Pengenal ucapan memunculkan SpeechDetectedperistiwa , SpeechHypothesized, SpeechRecognitionRejected, dan SpeechRecognized seolah-olah operasi pengenalan tidak ditimulasi.

Pengenal menggunakan compareOptions saat menerapkan aturan tata bahasa ke frasa input. Pengenal yang dikirim dengan Vista dan Windows 7 mengabaikan kasus jika OrdinalIgnoreCase nilai atau IgnoreCase ada. Pengenal selalu mengabaikan lebar karakter dan tidak pernah mengabaikan jenis Kana. Pengenal juga mengabaikan baris baru dan ruang kosong ekstra dan memperlakukan tanda baca sebagai input harfiah. Untuk informasi selengkapnya tentang lebar karakter dan jenis Kana, lihat CompareOptions enumerasi.

Lihat juga

Berlaku untuk

EmulateRecognize(String, CompareOptions)

Sumber:
SpeechRecognitionEngine.cs
Sumber:
SpeechRecognitionEngine.cs
Sumber:
SpeechRecognitionEngine.cs

Meniru input frasa ke pengenal ucapan, menggunakan teks sebagai pengganti audio untuk pengenalan ucapan yang sinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara frasa dan tata bahasa pengenalan ucapan yang dimuat.

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

Parameter

inputText
String

Frasa input untuk operasi pengenalan.

compareOptions
CompareOptions

Kombinasi bitwise dari nilai enumerasi yang menjelaskan jenis perbandingan yang digunakan untuk operasi pengenalan yang ditiru.

Mengembalikan

Hasil untuk operasi pengenalan, atau null jika operasi tidak berhasil atau pengenal tidak diaktifkan.

Pengecualian

Pengenal tidak memiliki tata bahasa pengenalan ucapan yang dimuat.

inputTextadalah null.

inputText adalah string kosong ("").

compareOptionsIgnoreNonSpaceberisi bendera , IgnoreSymbols, atau StringSort .

Keterangan

Pengenal ucapan memunculkan SpeechDetectedperistiwa , SpeechHypothesized, SpeechRecognitionRejected, dan SpeechRecognized seolah-olah operasi pengenalan tidak ditimulasi.

Pengenal menggunakan compareOptions saat menerapkan aturan tata bahasa ke frasa input. Pengenal yang dikirim dengan Vista dan Windows 7 mengabaikan kasus jika OrdinalIgnoreCase nilai atau IgnoreCase ada. Pengenal selalu mengabaikan lebar karakter dan tidak pernah mengabaikan jenis Kana. Pengenal juga mengabaikan baris baru dan ruang kosong ekstra dan memperlakukan tanda baca sebagai input harfiah. Untuk informasi selengkapnya tentang lebar karakter dan jenis Kana, lihat CompareOptions enumerasi.

Lihat juga

Berlaku untuk