SpeechRecognitionEngine.SpeechDetected 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.
konuşma olarak tanımlayabildiği girişi algıladığında SpeechRecognitionEngine yükseltildi.
public:
event EventHandler<System::Speech::Recognition::SpeechDetectedEventArgs ^> ^ SpeechDetected;
public event EventHandler<System.Speech.Recognition.SpeechDetectedEventArgs> SpeechDetected;
member this.SpeechDetected : EventHandler<System.Speech.Recognition.SpeechDetectedEventArgs>
Public Custom Event SpeechDetected As EventHandler(Of SpeechDetectedEventArgs)
Public Event SpeechDetected As EventHandler(Of SpeechDetectedEventArgs)
Olay Türü
Örnekler
Aşağıdaki örnek, bir uçuş için çıkış ve hedef şehirleri seçmeye yönelik bir konsol uygulamasının parçasıdır. Uygulama , "Miami'den Chicago'ya uçmak istiyorum" gibi tümcecikleri tanır. Örnek, her konuşma algılandığında raporlamak AudioPosition için olayını kullanırSpeechDetected.
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())
{
// Create a grammar.
Choices cities = new Choices(new string[] {
"Los Angeles", "New York", "Chicago", "San Francisco", "Miami", "Dallas" });
GrammarBuilder gb = new GrammarBuilder();
gb.Append("I would like to fly from");
gb.Append(cities);
gb.Append("to");
gb.Append(cities);
// Create a Grammar object and load it to the recognizer.
Grammar g = new Grammar(gb);
g.Name = ("City Chooser");
recognizer.LoadGrammarAsync(g);
// Attach event handlers.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
recognizer.SpeechDetected +=
new EventHandler<SpeechDetectedEventArgs>(recognizer_SpeechDetected);
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Set the input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start recognition.
recognizer.RecognizeAsync();
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the SpeechDetected event.
static void recognizer_SpeechDetected(object sender, SpeechDetectedEventArgs e)
{
Console.WriteLine(" Speech detected at AudioPosition = {0}", e.AudioPosition);
}
// 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);
}
}
}
Açıklamalar
Her konuşma tanıyıcısı, sessizliği ve konuşmayı ayırt etmek için bir algoritmaya sahiptir. SpeechRecognitionEngine bir konuşma tanıma işlemi gerçekleştirdiğinde, algoritması girişi konuşma olarak tanımladığında olayı tetiklerSpeechDetected. AudioPosition İlişkili SpeechDetectedEventArgs nesnenin özelliği, tanıyıcının konuşma algıladığı giriş akışındaki konumu gösterir. SpeechDetected, SpeechRecognitionEngine veya SpeechRecognitionRejected olaylarından herhangi birini SpeechHypothesizedSpeechRecognizedtetiklemeden önce olayı tetikler.
Daha fazla bilgi için , RecognizeAsync, EmulateRecognizeve EmulateRecognizeAsync yöntemlerine bakınRecognize.
Bir SpeechDetected 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 işleyicisi, temsilciyi kaldırmadığınız sürece olay gerçekleştiğinde çağrılır. Olay işleyicisi temsilcileri hakkında daha fazla bilgi için bkz. Olaylar ve Temsilciler.