SpeechRecognitionEngine.SpeechRecognitionRejected Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
yüklenen ve etkinleştirilmiş Grammar nesnelerinden herhangi biriyle eşleşmeyen girişi aldığında tetikleniyorSpeechRecognitionEngine.
public:
event EventHandler<System::Speech::Recognition::SpeechRecognitionRejectedEventArgs ^> ^ SpeechRecognitionRejected;
public event EventHandler<System.Speech.Recognition.SpeechRecognitionRejectedEventArgs> SpeechRecognitionRejected;
member this.SpeechRecognitionRejected : EventHandler<System.Speech.Recognition.SpeechRecognitionRejectedEventArgs>
Public Custom Event SpeechRecognitionRejected As EventHandler(Of SpeechRecognitionRejectedEventArgs)
Public Event SpeechRecognitionRejected As EventHandler(Of SpeechRecognitionRejectedEventArgs)
Olay Türü
Örnekler
Aşağıdaki örnek, "Caz kategorisindeki sanatçı listesini görüntüleme" veya "Albümleri görüntüle gospel" gibi tümcecikleri tanır. Örnek, konuşma girişi dil bilgisinin SpeechRecognitionRejected içeriğiyle eşleşemediğinde başarılı bir tanıma oluşturmak için yeterli Confidence olduğunda konsolunda bir bildirim görüntülemek için olay işleyicisi kullanır. İşleyici, düşük güvenilirlik puanları nedeniyle reddedilen tanıma sonucunu Alternates da görüntüler.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize an in-process speech recognition engine.
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
{
// Create a grammar.
// Create lists of alternative choices.
Choices listTypes = new Choices(new string[] { "albums", "artists" });
Choices genres = new Choices(new string[] {
"blues", "classical", "gospel", "jazz", "rock" });
// Create a GrammarBuilder object and assemble the grammar components.
GrammarBuilder mediaMenu = new GrammarBuilder("Display");
mediaMenu.Append("the list of", 0, 1);
mediaMenu.Append(listTypes);
mediaMenu.Append("in the", 0, 1);
mediaMenu.Append(genres);
mediaMenu.Append("category", 0, 1);
// Build a Grammar object from the GrammarBuilder.
Grammar mediaMenuGrammar = new Grammar(mediaMenu);
mediaMenuGrammar.Name = "Media Chooser";
// Attach event handlers.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
recognizer.SpeechRecognitionRejected +=
new EventHandler<SpeechRecognitionRejectedEventArgs>(recognizer_SpeechRecognitionRejected);
// Load the grammar object to the recognizer.
recognizer.LoadGrammarAsync(mediaMenuGrammar);
// Set the input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the SpeechRecognitionRejected event.
static void recognizer_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
{
Console.WriteLine("Speech input was rejected.");
foreach (RecognizedPhrase phrase in e.Result.Alternates)
{
Console.WriteLine(" Rejected phrase: " + phrase.Text);
Console.WriteLine(" Confidence score: " + phrase.Confidence);
}
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine(" Confidence score: " + e.Result.Confidence);
}
}
}
Açıklamalar
Tanıyıcı, girişin yüklenen ve etkinleştirilen Grammar nesnelerinden herhangi biriyle yeterli güvenle eşleşmediğini belirlerse bu olayı tetikler. Result özelliği SpeechRecognitionRejectedEventArgs reddedilen RecognitionResult nesneyi içerir. Reddedilen tanımayı Alternates ve bunların puanlarını almak için olay işleyicisini SpeechRecognitionRejectedConfidence kullanabilirsiniz.
Uygulamanız bir SpeechRecognitionEngine örnek kullanıyorsa, yöntemlerden biriyle UpdateRecognizerSetting konuşma girişinin kabul edildiği veya reddedildiği güvenilirlik düzeyini değiştirebilirsiniz. , , InitialSilenceTimeoutEndSilenceTimeoutve EndSilenceTimeoutAmbiguous özelliklerini kullanarak BabbleTimeoutkonuşma tanımanın konuşma olmayan girişlere nasıl yanıt vereceğini değiştirebilirsiniz.
Bir SpeechRecognitionRejected temsilci oluşturduğunuzda, olayı işleyecek yöntemi tanımlarsınız. Olayı olay işleyicinizle ilişkilendirmek için olaya temsilcinin bir örneğini ekleyin. Olay her gerçekleştiğinde, olay işleyici (siz temsilciyi kaldırmadığınız sürece) çağrılır. Olay işleyicisi temsilcileri hakkında daha fazla bilgi için bkz . Olaylar ve Temsilciler.