SpeechRecognitionEngine.Recognize Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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:
SpeechDetected. Dimunculkan ketika pengenal mendeteksi input yang dapat diidentifikasi sebagai ucapan.
SpeechHypothesized. Dimunculkan saat input membuat kecocokan ambigu dengan salah satu tata bahasa aktif.
SpeechRecognitionRejected atau SpeechRecognized. Dimunculkan ketika pengenal menyelesaikan operasi pengenalan.
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
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:
SpeechDetected. Dimunculkan ketika pengenal mendeteksi input yang dapat diidentifikasi sebagai ucapan.
SpeechHypothesized. Dimunculkan saat input membuat kecocokan ambigu dengan salah satu tata bahasa aktif.
SpeechRecognitionRejected atau SpeechRecognized. Dimunculkan ketika pengenal menyelesaikan operasi pengenalan.
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
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)
Berlaku untuk
Recognize(TimeSpan)
- 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:
SpeechDetected. Dimunculkan ketika pengenal mendeteksi input yang dapat diidentifikasi sebagai ucapan.
SpeechHypothesized. Dimunculkan saat input membuat kecocokan ambigu dengan salah satu tata bahasa aktif.
SpeechRecognitionRejected atau SpeechRecognized. Dimunculkan ketika pengenal menyelesaikan operasi pengenalan.
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
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)