Bagikan melalui


SpeechRecognizer.EmulateRecognizeAsync Metode

Definisi

Meniru input ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan asinkron.

Overload

EmulateRecognizeAsync(String)

Meniru input frasa ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan asinkron.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

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

EmulateRecognizeAsync(String, CompareOptions)

Meniru input frasa ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan asinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara frasa dan tata bahasa pengenalan ucapan yang dimuat.

Keterangan

Metode ini melewati input audio sistem. Ini dapat membantu ketika Anda menguji atau men-debug aplikasi atau tata bahasa.

Pengenal bersama memunculkan SpeechDetectedperistiwa , SpeechHypothesized, SpeechRecognitionRejected, dan SpeechRecognized seolah-olah operasi pengenalan tidak ditimulasi. Ketika pengenal menyelesaikan operasi pengenalan asinkron, pengenalan akan memunculkan EmulateRecognizeCompleted peristiwa. Pengenal mengabaikan baris baru dan spasi kosong ekstra dan memperlakukan tanda baca sebagai input harfiah.

Catatan

Jika Windows Speech Recognition berada dalam status Tidur , maka pengenal bersama tidak memproses input dan tidak menaikkan SpeechDetected peristiwa terkait dan , tetapi masih meningkatkan EmulateRecognizeCompleted peristiwa.

Catatan

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

Untuk meniru pengenalan sinkron, gunakan metode .EmulateRecognize

EmulateRecognizeAsync(String)

Sumber:
SpeechRecognizer.cs
Sumber:
SpeechRecognizer.cs
Sumber:
SpeechRecognizer.cs

Meniru input frasa ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan asinkron.

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

Parameter

inputText
String

Input untuk operasi pengenalan.

Contoh

Contoh berikut adalah bagian dari aplikasi konsol yang memuat tata bahasa pengenalan ucapan dan menunjukkan input yang ditiru asinkron, hasil pengenalan terkait, dan peristiwa terkait yang diangkat oleh pengenal ucapan. Jika Pengenalan Ucapan Windows tidak berjalan, maka memulai aplikasi ini juga akan memulai Pengenalan Ucapan Windows. Jika Pengenalan Ucapan Windows dalam status Tidur , maka EmulateRecognizeAsync selalu kembali 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;  
    }  
  }  
}

Keterangan

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.

Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh EmulateRecognize(String).

Lihat juga

Berlaku untuk

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Sumber:
SpeechRecognizer.cs
Sumber:
SpeechRecognizer.cs
Sumber:
SpeechRecognizer.cs

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

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)

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.

Keterangan

Metode ini membuat RecognitionResult objek menggunakan informasi yang disediakan dalam wordUnits parameter .

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.

Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh EmulateRecognize(RecognizedWordUnit[], CompareOptions).

Lihat juga

Berlaku untuk

EmulateRecognizeAsync(String, CompareOptions)

Sumber:
SpeechRecognizer.cs
Sumber:
SpeechRecognizer.cs
Sumber:
SpeechRecognizer.cs

Meniru input frasa ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan asinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara frasa dan tata bahasa pengenalan ucapan yang dimuat.

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)

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.

Keterangan

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.

Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh EmulateRecognize(String, CompareOptions).

Lihat juga

Berlaku untuk