Share via


SpeechRecognitionEngine.Recognize Metode

Definisi

Memulai operasi pengenalan ucapan yang sinkron.

Overload

Recognize()

Melakukan operasi pengenalan ucapan sinkron.

Recognize(TimeSpan)

Melakukan operasi pengenalan ucapan sinkron dengan periode batas waktu keheningan awal yang ditentukan.

Keterangan

Metode ini melakukan satu operasi pengenalan sinkron. Pengenal melakukan operasi ini terhadap tata bahasa pengenalan ucapan yang dimuat dan diaktifkan.

Selama panggilan ke metode ini, pengenal dapat menaikkan peristiwa berikut:

Recognizer tidak menaikkan RecognizeCompleted peristiwa saat menggunakan salah Recognize satu metode.

Metode Recognize mengembalikan RecognitionResult objek, atau null jika operasi tidak berhasil atau pengenal tidak diaktifkan.

Operasi pengenalan sinkron dapat gagal karena alasan berikut:

  • Ucapan tidak terdeteksi sebelum interval batas waktu berakhir untuk BabbleTimeout properti atau InitialSilenceTimeout , atau untuk initialSilenceTimeout parameter Recognize metode .

  • Mesin pengenalan mendeteksi ucapan tetapi tidak menemukan kecocokan di salah satu objek yang dimuat dan diaktifkan Grammar .

Untuk memodifikasi bagaimana pengenal menangani waktu ucapan atau keheningan sehubungan dengan pengenalan, gunakan BabbleTimeoutproperti , InitialSilenceTimeout, EndSilenceTimeout, dan EndSilenceTimeoutAmbiguous .

SpeechRecognitionEngine harus memiliki setidaknya satu Grammar objek yang dimuat sebelum melakukan pengenalan. Untuk memuat tata bahasa pengenalan ucapan, gunakan LoadGrammar metode atau LoadGrammarAsync .

Untuk melakukan pengenalan asinkron, gunakan salah RecognizeAsync satu metode .

Recognize()

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

Melakukan operasi pengenalan ucapan sinkron.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize();
public System.Speech.Recognition.RecognitionResult Recognize ();
member this.Recognize : unit -> System.Speech.Recognition.RecognitionResult
Public Function Recognize () As RecognitionResult

Mengembalikan

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

Contoh

Contoh berikut menunjukkan bagian dari aplikasi konsol yang menunjukkan pengenalan ucapan dasar. Contohnya membuat DictationGrammar, memuatnya ke dalam pengenal ucapan dalam proses, dan melakukan satu operasi pengenalan.

using System;  
using System.Speech.Recognition;  

namespace SynchronousRecognition  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  
      // Create an in-process speech recognizer for the en-US locale.  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(  
          new System.Globalization.CultureInfo("en-US")))  
      {  

        // Create and load a dictation grammar.  
        recognizer.LoadGrammar(new DictationGrammar());  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Modify the initial silence time-out value.  
        recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5);  

        // Start synchronous speech recognition.  
        RecognitionResult result = recognizer.Recognize();  

        if (result != null)  
        {  
          Console.WriteLine("Recognized text = {0}", result.Text);  
        }  
        else  
        {  
          Console.WriteLine("No recognition result available.");  
        }  
      }  

      Console.WriteLine();  
      Console.WriteLine("Press any key to continue...");  
      Console.ReadKey();  
    }  
  }  
}  

Keterangan

Metode ini melakukan operasi pengenalan tunggal. Pengenal melakukan operasi ini terhadap tata bahasa pengenalan ucapan yang dimuat dan diaktifkan.

Selama panggilan ke metode ini, pengenal dapat menaikkan peristiwa berikut:

Recognizer tidak menaikkan RecognizeCompleted peristiwa saat menggunakan metode ini.

Metode Recognize() mengembalikan RecognitionResult objek, atau null jika operasi tidak berhasil.

Operasi pengenalan sinkron dapat gagal karena alasan berikut:

  • Ucapan tidak terdeteksi sebelum interval batas waktu kedaluwarsa untuk BabbleTimeout properti atau InitialSilenceTimeout .

  • Mesin pengenalan mendeteksi ucapan tetapi tidak menemukan kecocokan di salah satu objek yang dimuat dan diaktifkan Grammar .

Untuk melakukan pengenalan asinkron, gunakan salah RecognizeAsync satu metode .

Lihat juga

Berlaku untuk

Recognize(TimeSpan)

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

Melakukan operasi pengenalan ucapan sinkron dengan periode batas waktu keheningan awal yang ditentukan.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize(TimeSpan initialSilenceTimeout);
public System.Speech.Recognition.RecognitionResult Recognize (TimeSpan initialSilenceTimeout);
member this.Recognize : TimeSpan -> System.Speech.Recognition.RecognitionResult
Public Function Recognize (initialSilenceTimeout As TimeSpan) As RecognitionResult

Parameter

initialSilenceTimeout
TimeSpan

Interval waktu pengenal ucapan menerima input yang hanya berisi keheningan sebelum menyelesaikan pengenalan.

Mengembalikan

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

Contoh

Contoh berikut menunjukkan bagian dari aplikasi konsol yang menunjukkan pengenalan ucapan dasar. Contohnya membuat DictationGrammar, memuatnya ke dalam pengenal ucapan dalam proses, dan melakukan satu operasi pengenalan.

using System;  
using System.Speech.Recognition;  

namespace SynchronousRecognition  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  
      // Create an in-process speech recognizer for the en-US locale.  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(  
          new System.Globalization.CultureInfo("en-US")))  
      {  
        // Create and load a dictation grammar.  
        recognizer.LoadGrammar(new DictationGrammar());  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Start synchronous speech recognition.  
        RecognitionResult result = recognizer.Recognize(TimeSpan.FromSeconds(5));  

        if (result != null)  
        {  
          Console.WriteLine("Recognized text = {0}", result.Text);  
        }  
        else  
        {  
          Console.WriteLine("No recognition result available.");  
        }  
      }  

      Console.WriteLine();  
      Console.WriteLine("Press any key to continue...");  
      Console.ReadKey();  
    }  
  }  
}  

Keterangan

Jika mesin pengenalan ucapan mendeteksi ucapan dalam interval waktu yang ditentukan oleh initialSilenceTimeout argumen, Recognize(TimeSpan) lakukan operasi pengenalan tunggal lalu dihentikan. Parameter initialSilenceTimeout menggantikan properti recognizer InitialSilenceTimeout .

Selama panggilan ke metode ini, pengenal dapat menaikkan peristiwa berikut:

Recognizer tidak menaikkan RecognizeCompleted peristiwa saat menggunakan metode ini.

Metode Recognize() mengembalikan RecognitionResult objek, atau null jika operasi tidak berhasil.

Operasi pengenalan sinkron dapat gagal karena alasan berikut:

  • Ucapan tidak terdeteksi sebelum interval batas waktu kedaluwarsa untuk BabbleTimeout atau untuk initialSilenceTimeout parameter .

  • Mesin pengenalan mendeteksi ucapan tetapi tidak menemukan kecocokan di salah satu objek yang dimuat dan diaktifkan Grammar .

Untuk melakukan pengenalan asinkron, gunakan salah RecognizeAsync satu metode .

Lihat juga

Berlaku untuk