SpeechRecognitionEngine.EmulateRecognize 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.
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.
inputText
adalah 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
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
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.
wordUnits
adalah null
.
wordUnits
berisi satu atau beberapa null
elemen.
compareOptions
IgnoreNonSpaceberisi 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
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
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.
inputText
adalah null
.
inputText
adalah string kosong ("").
compareOptions
IgnoreNonSpaceberisi 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
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized