次の方法で共有


RecognizerUpdateReachedEventArgs クラス

定義

RecognizerUpdateReached または RecognizerUpdateReached イベントからのデータを返します。

public ref class RecognizerUpdateReachedEventArgs : EventArgs
public class RecognizerUpdateReachedEventArgs : EventArgs
type RecognizerUpdateReachedEventArgs = class
    inherit EventArgs
Public Class RecognizerUpdateReachedEventArgs
Inherits EventArgs
継承
RecognizerUpdateReachedEventArgs

次の例は、オブジェクトを読み込んでアンロードするコンソール アプリケーションを Grammar 示しています。 アプリケーションでは、 メソッドを RequestRecognizerUpdate 使用して、更新プログラムを受信できるように音声認識エンジンに一時停止を要求します。 その後、アプリケーションは オブジェクトを Grammar 読み込むかアンロードします。

更新のたびに、イベントの SpeechRecognitionEngine.RecognizerUpdateReached ハンドラーによって、現在読み込まれている Grammar オブジェクトの名前と状態がコンソールに書き込まれます。 文法が読み込まれ、アンロードされると、アプリケーションは最初に農場の動物の名前、次に農場の動物の名前と果物の名前、次に果物の名前のみを認識します。

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");  
    }  
  }  
}  

注釈

RecognizerUpdateReached イベントは、音声認識エンジンを一時停止して、文法の読み込みとアンロードなどのアトミックおよび同期的な変更を適用するためのメカニズムを提供します。

アプリケーションが認識の管理にインスタンスを SpeechRecognitionEngine 使用している場合は、いずれかのメソッドを SpeechRecognitionEngine.RequestRecognizerUpdate 使用して、更新プログラムの受信をエンジンが一時停止するように要求できます。 インスタンスは SpeechRecognitionEngine 、更新の SpeechRecognitionEngine.RecognizerUpdateReached 準備ができたらイベントを発生させます。

インスタンスがSpeechRecognitionEngine一時停止している間は、オブジェクトの読み込み、アンロード、有効化、無効化Grammar、およびプロパティInitialSilenceTimeoutEndSilenceTimeoutの値の変更をBabbleTimeout行うことができます。

アプリケーションが認識の管理にインスタンスを SpeechRecognizer 使用している場合は、いずれかのメソッドを SpeechRecognizer.RequestRecognizerUpdate 使用して、更新プログラムの受信をエンジンが一時停止するように要求できます。 インスタンスは SpeechRecognizer 、更新の SpeechRecognizer.RecognizerUpdateReached 準備ができたらイベントを発生させます。

インスタンスが SpeechRecognizer 一時停止している間は、オブジェクトの読み込み、アンロード、有効化、無効化 Grammar を行うことができます。

イベントと SpeechRecognizer.RecognizerUpdateReached イベントを処理SpeechRecognitionEngine.RecognizerUpdateReachedする場合、認識エンジンはイベント ハンドラーが返されるまで一時停止します。

RecognizerUpdateReachedEventArgs は、EventArgs から派生します。

プロパティ

AudioPosition

イベントに関連付けられているオーディオの位置を取得します。

UserToken

アプリケーションが または RequestRecognizerUpdateUserToken呼び出RequestRecognizerUpdateすときにシステムに渡される を取得します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください