SpeechRecognitionEngine.EmulateRecognizeAsync 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 asinkron.
Overload
EmulateRecognizeAsync(String) |
Meniru input frasa ke pengenal ucapan, menggunakan teks sebagai pengganti audio untuk pengenalan ucapan asinkron. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Meniru input kata-kata tertentu ke pengenal ucapan, menggunakan array RecognizedWordUnit objek sebagai pengganti audio untuk pengenalan ucapan asinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara kata-kata dan tata bahasa pengenalan ucapan yang dimuat. |
EmulateRecognizeAsync(String, CompareOptions) |
Meniru input frasa ke pengenal ucapan, menggunakan teks sebagai pengganti 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 dan menyediakan 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. Ketika pengenal menyelesaikan operasi pengenalan asinkron, pengenalan akan memunculkan EmulateRecognizeCompleted peristiwa. Pengenal mengabaikan baris baru dan ruang 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 sinkron, gunakan EmulateRecognize metode .
EmulateRecognizeAsync(String)
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
Meniru input frasa ke pengenal ucapan, menggunakan teks sebagai pengganti 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.
Pengecualian
Pengenal tidak memiliki tata bahasa pengenalan ucapan yang dimuat, atau pengenal memiliki operasi pengenalan asinkron yang belum selesai.
inputText
adalah null
.
inputText
adalah string kosong ("").
Contoh
Contoh kode di bawah ini adalah bagian dari aplikasi konsol yang menunjukkan input yang ditiru asinkron, hasil pengenalan terkait, dan peristiwa terkait yang diangkat oleh pengenal ucapan. Contoh menghasilkan output berikut.
TestRecognizeAsync("Smith")...
SpeechDetected event raised.
SpeechRecognized event raised.
Grammar = Smith; Text = Smith
EmulateRecognizeCompleted event raised.
Grammar = Smith; Text = Smith
Done.
TestRecognizeAsync("Jones")...
SpeechDetected event raised.
SpeechRecognized event raised.
Grammar = Jones; Text = Jones
EmulateRecognizeCompleted event raised.
Grammar = Jones; Text = Jones
Done.
TestRecognizeAsync("Mister")...
SpeechDetected event raised.
SpeechHypothesized event raised.
Grammar = Smith; Text = mister
SpeechRecognitionRejected event raised.
Grammar = <not available>; Text =
EmulateRecognizeCompleted event raised.
No recognition result available.
Done.
TestRecognizeAsync("Mister Smith")...
SpeechDetected event raised.
SpeechRecognized event raised.
Grammar = Smith; Text = mister Smith
EmulateRecognizeCompleted event raised.
Grammar = Smith; Text = mister Smith
Done.
press any key to exit...
using System;
using System.Globalization;
using System.Speech.Recognition;
using System.Threading;
namespace SreEmulateRecognizeAsync
{
class Program
{
// Indicate when an asynchronous operation is finished.
static bool completed;
static void Main(string[] args)
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
// Load grammars.
recognizer.LoadGrammar(CreateNameGrammar("Smith"));
recognizer.LoadGrammar(CreateNameGrammar("Jones"));
// Configure the audio input.
recognizer.SetInputToNull();
// Add event handlers for the events raised by the
// EmulateRecognizeAsync 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);
recognizer.EmulateRecognizeCompleted +=
new EventHandler<EmulateRecognizeCompletedEventArgs>(
EmulateRecognizeCompletedHandler);
// Start four asynchronous emulated recognition operations.
TestRecognizeAsync(recognizer, "Smith");
TestRecognizeAsync(recognizer, "Jones");
TestRecognizeAsync(recognizer, "Mister");
TestRecognizeAsync(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 asynchronous
// recognition.
private static void TestRecognizeAsync(
SpeechRecognitionEngine recognizer, string input)
{
completed = false;
Console.WriteLine("TestRecognizeAsync(\"{0}\")...", input);
recognizer.EmulateRecognizeAsync(input);
// Wait for the operation to complete.
while (!completed)
{
Thread.Sleep(333);
}
Console.WriteLine(" Done.");
Console.WriteLine();
}
static void SpeechDetectedHandler(
object sender, SpeechDetectedEventArgs e)
{
Console.WriteLine(" SpeechDetected event raised.");
}
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.");
}
}
// Handle events.
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.");
}
}
static void EmulateRecognizeCompletedHandler(
object sender, EmulateRecognizeCompletedEventArgs e)
{
Console.WriteLine(" EmulateRecognizeCompleted event raised.");
if (e.Error != null)
{
Console.WriteLine(" {0} exception encountered: {1}:",
e.Error.GetType().Name, e.Error.Message);
}
else if (e.Cancelled)
{
Console.WriteLine(" Operation cancelled.");
}
else 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.");
}
completed = true;
}
}
}
Keterangan
Pengenal ucapan memunculkan SpeechDetectedperistiwa , SpeechHypothesized, SpeechRecognitionRejected, dan SpeechRecognized seolah-olah operasi pengenalan tidak ditimulasi. Ketika pengenal menyelesaikan operasi pengenalan asinkron, pengenalan akan memunculkan EmulateRecognizeCompleted peristiwa.
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 mengembalikan 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
- EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- RecognizeAsync()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- EmulateRecognizeCompleted
Berlaku untuk
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
Meniru input kata-kata tertentu ke pengenal ucapan, menggunakan array RecognizedWordUnit objek sebagai pengganti audio untuk pengenalan ucapan asinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara kata-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.
Pengecualian
Pengenal tidak memiliki tata bahasa pengenalan ucapan yang dimuat, atau pengenal memiliki operasi pengenalan asinkron yang belum selesai.
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. Ketika pengenal menyelesaikan operasi pengenalan asinkron, pengenalan akan memunculkan EmulateRecognizeCompleted peristiwa.
Pengenal menggunakan compareOptions
saat menerapkan aturan tata bahasa ke frasa input. Pengenal yang mengirim dengan Kasus abaikan Vista dan Windows 7 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 mengembalikan 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
- EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- RecognizeAsync()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- EmulateRecognizeCompleted
Berlaku untuk
EmulateRecognizeAsync(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 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.
Pengecualian
Pengenal tidak memiliki tata bahasa pengenalan ucapan yang dimuat, atau pengenal memiliki operasi pengenalan asinkron yang belum selesai.
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. Ketika pengenal menyelesaikan operasi pengenalan asinkron, pengenalan akan memunculkan EmulateRecognizeCompleted peristiwa.
Pengenal menggunakan compareOptions
saat menerapkan aturan tata bahasa ke frasa input. Pengenal yang mengirim dengan Kasus abaikan Vista dan Windows 7 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 mengembalikan 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
- EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- RecognizeAsync()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- EmulateRecognizeCompleted