SpeechRecognitionEngine.SpeechDetected イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SpeechRecognitionEngine が音声として識別できる入力を検出すると発生します。
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)
イベントの種類
例
次の例は、フライトの出発地と目的地の都市を選択するためのコンソール アプリケーションの一部です。 アプリケーションは、"マイアミからシカゴに飛びたい" などのフレーズを認識します。この例では、 イベントを SpeechDetected 使用して、音声が AudioPosition 検出されるたびに を報告します。
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);
}
}
}
注釈
各音声認識エンジンには、無音と音声を区別するアルゴリズムがあります。 SpeechRecognitionEngineが音声認識操作を実行すると、そのアルゴリズムによって入力がSpeechDetected音声として識別されると、イベントが発生します。 関連付けられたSpeechDetectedEventArgsオブジェクトの プロパティはAudioPosition、認識エンジンが音声を検出した入力ストリーム内の場所を示します。 はSpeechRecognitionEngine、または SpeechRecognitionRejected のいずれかのイベントをSpeechDetected発生させる前に イベントをSpeechHypothesizedSpeechRecognized発生させます。
詳細については、および の各メソッドを参照してくださいRecognizeEmulateRecognizeRecognizeAsync。EmulateRecognizeAsync
SpeechDetected デリゲートを作成する場合は、イベントを処理するメソッドを指定します。 イベント ハンドラーにイベントを関連付けるには、イベントにデリゲートのインスタンスを追加します。 イベント ハンドラーは、デリゲートを削除しない限り、イベントが発生するたびに呼び出されます。 イベント ハンドラー デリゲートの詳細については、「 イベントとデリゲート」を参照してください。
適用対象
こちらもご覧ください
.NET