SpeechRecognitionEngine.RequestRecognizerUpdate 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.
Meminta agar pengenal berhenti sejenak untuk memperbarui statusnya.
Overload
RequestRecognizerUpdate(Object, TimeSpan) |
Meminta agar recognizer berhenti sejenak untuk memperbarui statusnya dan menyediakan offset dan token pengguna untuk peristiwa terkait. |
RequestRecognizerUpdate(Object) |
Meminta agar pengenal berhenti sejenak untuk memperbarui statusnya dan menyediakan token pengguna untuk peristiwa terkait. |
RequestRecognizerUpdate() |
Meminta agar pengenal berhenti sejenak untuk memperbarui statusnya. |
Keterangan
Gunakan metode ini untuk menyinkronkan perubahan pada pengenal. Misalnya, jika Anda memuat atau membongkar tata bahasa pengenalan ucapan saat pengenal memproses input, gunakan metode ini dan RecognizerUpdateReached peristiwa untuk menyinkronkan perilaku aplikasi Anda dengan status pengenal.
Ketika metode ini dipanggil, pengenal menjeda atau menyelesaikan operasi asinkron dan menghasilkan RecognizerUpdateReached peristiwa. Penanganan RecognizerUpdateReached aktivitas kemudian dapat memodifikasi status pengenal di antara operasi pengenalan. Saat menangani RecognizerUpdateReached peristiwa, pengenal menjeda hingga penanganan aktivitas kembali.
Catatan
Jika input ke recognizer diubah sebelum pengenal menaikkan RecognizerUpdateReached peristiwa, permintaan akan dibuang.
Ketika metode ini dipanggil:
Jika pengenal tidak memproses input, pengenal segera menghasilkan RecognizerUpdateReached peristiwa.
Jika pengenal memproses input yang terdiri dari keheningan atau kebisingan latar belakang, pengenal menjeda operasi pengenalan dan menghasilkan RecognizerUpdateReached peristiwa.
Jika pengenal memproses input yang tidak terdiri dari keheningan atau kebisingan latar belakang, pengenal menyelesaikan operasi pengenalan dan kemudian menghasilkan RecognizerUpdateReached peristiwa.
Saat recognizer menangani RecognizerUpdateReached peristiwa:
Recognizer tidak memproses input, dan nilai RecognizerAudioPosition properti tetap sama.
Pengenal terus mengumpulkan input, dan nilai AudioPosition properti dapat berubah.
RequestRecognizerUpdate(Object, TimeSpan)
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
Meminta agar recognizer berhenti sejenak untuk memperbarui statusnya dan menyediakan offset dan token pengguna untuk peristiwa terkait.
public:
void RequestRecognizerUpdate(System::Object ^ userToken, TimeSpan audioPositionAheadToRaiseUpdate);
public void RequestRecognizerUpdate (object userToken, TimeSpan audioPositionAheadToRaiseUpdate);
member this.RequestRecognizerUpdate : obj * TimeSpan -> unit
Public Sub RequestRecognizerUpdate (userToken As Object, audioPositionAheadToRaiseUpdate As TimeSpan)
Parameter
- userToken
- Object
Informasi yang ditentukan pengguna yang berisi informasi untuk operasi.
- audioPositionAheadToRaiseUpdate
- TimeSpan
Offset dari saat ini AudioPosition untuk menunda permintaan.
Keterangan
Recognizer tidak memulai permintaan pembaruan recognizer sampai pengenal RecognizerAudioPosition sama dengan plus audioPositionAheadToRaiseUpdate
saat iniAudioPosition.
Ketika recognizer menghasilkan RecognizerUpdateReached peristiwa, UserToken properti berisi RecognizerUpdateReachedEventArgs nilai userToken
parameter .
Lihat juga
Berlaku untuk
RequestRecognizerUpdate(Object)
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
Meminta agar pengenal berhenti sejenak untuk memperbarui statusnya dan menyediakan token pengguna untuk peristiwa terkait.
public:
void RequestRecognizerUpdate(System::Object ^ userToken);
public void RequestRecognizerUpdate (object userToken);
member this.RequestRecognizerUpdate : obj -> unit
Public Sub RequestRecognizerUpdate (userToken As Object)
Parameter
- userToken
- Object
Informasi yang ditentukan pengguna yang berisi informasi untuk operasi.
Keterangan
Ketika recognizer menghasilkan RecognizerUpdateReached peristiwa, UserToken properti berisi RecognizerUpdateReachedEventArgs nilai userToken
parameter .
Untuk menentukan offset posisi audio, gunakan RequestRecognizerUpdate metode .
Lihat juga
Berlaku untuk
RequestRecognizerUpdate()
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
- Sumber:
- SpeechRecognitionEngine.cs
Meminta agar pengenal berhenti sejenak untuk memperbarui statusnya.
public:
void RequestRecognizerUpdate();
public void RequestRecognizerUpdate ();
member this.RequestRecognizerUpdate : unit -> unit
Public Sub RequestRecognizerUpdate ()
Contoh
Contoh berikut menunjukkan aplikasi konsol yang memuat dan membongkar Grammar objek. Aplikasi ini menggunakan RequestRecognizerUpdate metode untuk meminta mesin pengenalan ucapan dijeda sehingga dapat menerima pembaruan. Aplikasi kemudian memuat atau membongkar Grammar objek.
Pada setiap pembaruan, handler untuk RecognizerUpdateReached peristiwa menulis nama dan status objek yang saat ini dimuat Grammar ke konsol. Saat tata bahasa dimuat dan dibongkar, aplikasi pertama-tama mengenali nama-nama hewan ternak, kemudian nama-nama hewan ternak dan nama-nama buahan, maka hanya nama buah-buahan.
using System;
using System.Speech.Recognition;
using System.Collections.Generic;
using System.Threading;
namespace SampleRecognition
{
class Program
{
private static SpeechRecognitionEngine recognizer;
public static void Main(string[] args)
{
// Initialize an in-process speech recognition engine and configure its input.
using (recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
{
recognizer.SetInputToDefaultAudioDevice();
// Create the first grammar - Farm.
Choices animals = new Choices(new string[] { "cow", "pig", "goat" });
GrammarBuilder farm = new GrammarBuilder(animals);
Grammar farmAnimals = new Grammar(farm);
farmAnimals.Name = "Farm";
// Create the second grammar - Fruit.
Choices fruit = new Choices(new string[] { "apples", "peaches", "oranges" });
GrammarBuilder favorite = new GrammarBuilder(fruit);
Grammar favoriteFruit = new Grammar(favorite);
favoriteFruit.Name = "Fruit";
// Attach event handlers.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
recognizer.RecognizerUpdateReached +=
new EventHandler<RecognizerUpdateReachedEventArgs>(recognizer_RecognizerUpdateReached);
recognizer.SpeechRecognitionRejected +=
new EventHandler<SpeechRecognitionRejectedEventArgs>(recognizer_SpeechRecognitionRejected);
// Load the Farm grammar.
recognizer.LoadGrammar(farmAnimals);
// Start asynchronous, continuous recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
Console.WriteLine("Starting asynchronous, continuous recognition");
Console.WriteLine(" Farm grammar is loaded and enabled.");
// Pause to recognize farm animals.
Thread.Sleep(7000);
Console.WriteLine();
// Request an update and load the Fruit grammar.
recognizer.RequestRecognizerUpdate();
recognizer.LoadGrammarAsync(favoriteFruit);
Thread.Sleep(7000);
// Request an update and unload the Farm grammar.
recognizer.RequestRecognizerUpdate();
recognizer.UnloadGrammar(farmAnimals);
Thread.Sleep(7000);
}
// Keep the console window open.
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// At the update, get the names and enabled status of the currently loaded grammars.
public static void recognizer_RecognizerUpdateReached(
object sender, RecognizerUpdateReachedEventArgs e)
{
Console.WriteLine();
Console.WriteLine("Update reached:");
Thread.Sleep(1000);
string qualifier;
List<Grammar> grammars = new List<Grammar>(recognizer.Grammars);
foreach (Grammar g in grammars)
{
qualifier = (g.Enabled) ? "enabled" : "disabled";
Console.WriteLine(" {0} grammar is loaded and {1}.",
g.Name, qualifier);
}
}
// Write the text of the recognized phrase to the console.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine(" Speech recognized: " + e.Result.Text);
}
// Write a message to the console when recognition fails.
static void recognizer_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
{
Console.WriteLine(" Recognition attempt failed");
}
}
}
Keterangan
Ketika recognizer menghasilkan RecognizerUpdateReached peristiwa, UserToken properti dari RecognizerUpdateReachedEventArgs adalah null
.
Untuk memberikan token pengguna, gunakan RequestRecognizerUpdate metode atau RequestRecognizerUpdate . Untuk menentukan offset posisi audio, gunakan RequestRecognizerUpdate metode .