SpeechRecognizer.EmulateRecognizeAsync メソッド

定義

非同期音声認識に音声ではなくテキストを使用して、共有音声認識エンジンに対する入力をエミュレートします。

オーバーロード

EmulateRecognizeAsync(String)

非同期音声認識に音声ではなくテキストを使用して、共有音声認識エンジンに対する語句の入力をエミュレートします。

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

非同期音声認識にオーディオではなくテキストを使用して、共有された音声認識エンジンに対する特定の語の入力をエミュレートし、語と読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。

EmulateRecognizeAsync(String, CompareOptions)

非同期音声認識にオーディオではなくテキストを使用して、共有された音声認識エンジンに対するフレーズの入力をエミュレートし、フレーズと読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。

注釈

これらのメソッドは、システム オーディオ入力をバイパスします。 これは、アプリケーションまたは文法をテストまたはデバッグする場合に役立ちます。

共有認識エンジンは、認識操作が SpeechDetectedエミュレートされていないかのように、、 SpeechHypothesizedSpeechRecognitionRejected、および SpeechRecognized イベントを発生させます。 認識エンジンは、非同期認識操作を完了すると、 イベントを EmulateRecognizeCompleted 発生させます。 認識エンジンは、改行と余分な空白を無視し、句読点をリテラル入力として扱います。

Note

Windows 音声認識が スリープ 状態の場合、共有認識エンジンは入力を処理せず、 および 関連イベントは SpeechDetected 発生しませんが、イベントを EmulateRecognizeCompleted 発生させます。

Note

RecognitionResultエミュレートされた入力に応答して共有認識エンジンによって生成されるオブジェクトのプロパティの値nullAudioは です。

同期認識をエミュレートするには、 メソッドを使用します EmulateRecognize

EmulateRecognizeAsync(String)

Source:
SpeechRecognizer.cs
Source:
SpeechRecognizer.cs

非同期音声認識に音声ではなくテキストを使用して、共有音声認識エンジンに対する語句の入力をエミュレートします。

public:
 void EmulateRecognizeAsync(System::String ^ inputText);
public void EmulateRecognizeAsync (string inputText);
member this.EmulateRecognizeAsync : string -> unit
Public Sub EmulateRecognizeAsync (inputText As String)

パラメーター

inputText
String

認識操作の入力。

次の例は、音声認識文法を読み込み、非同期エミュレートされた入力、関連する認識結果、および音声認識エンジンによって発生する関連イベントを示すコンソール アプリケーションの一部です。 Windows 音声認識が実行されていない場合、このアプリケーションを起動すると、Windows 音声認識も開始されます。 Windows 音声認識が スリープ 状態の場合は、 EmulateRecognizeAsync 常に null を返します。

using System;  
using System.Speech.Recognition;  
using System.Threading;  

namespace SharedRecognizer  
{  
  class Program  
  {  
    static bool completed;  

    static void Main(string[] args)  
    {  
      // Initialize an instance of the shared recognizer.  
      using (SpeechRecognizer recognizer = new SpeechRecognizer())  
      {  
        // Create and load a sample grammar.  
        Grammar testGrammar =  
          new Grammar(new GrammarBuilder("testing testing"));  
        testGrammar.Name = "Test Grammar";  

        recognizer.LoadGrammar(testGrammar);  

        // Attach event handlers for recognition events.  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(  
            SpeechRecognizedHandler);  
        recognizer.EmulateRecognizeCompleted +=  
          new EventHandler<EmulateRecognizeCompletedEventArgs>(  
            EmulateRecognizeCompletedHandler);  

        completed = false;  

        // This EmulateRecognizeAsync call generates a SpeechRecognized event.  
        recognizer.EmulateRecognizeAsync("testing testing");  

        // Wait for the asynchronous operation to complete.  
        while (!completed)  
        {  
          Thread.Sleep(333);  
        }  

        completed = false;  

        // This EmulateRecognizeAsync call does not match the grammar   
        // or generate a SpeechRecognized event.  
        recognizer.EmulateRecognizeAsync("testing one two three");  

        // Wait for the asynchronous operation to complete.  
        while (!completed)  
        {  
          Thread.Sleep(333);  
        }  
      }  

      Console.WriteLine();  
      Console.WriteLine("Press any key to exit...");  
      Console.ReadKey();  
    }  

    // Handle the SpeechRecognized event.  
    static void SpeechRecognizedHandler(  
      object sender, SpeechRecognizedEventArgs e)  
    {  
      if (e.Result != null)  
      {  
        Console.WriteLine("Recognition result = {0}",  
          e.Result.Text ?? "<no text>");  
      }  
      else  
      {  
        Console.WriteLine("No recognition result");  
      }  
    }  

    // Handle the EmulateRecognizeCompleted event.   
    static void EmulateRecognizeCompletedHandler(  
      object sender, EmulateRecognizeCompletedEventArgs e)  
    {  
      if (e.Result == null)  
      {  
        Console.WriteLine("No result generated.");  
      }  

      completed = true;  
    }  
  }  
}

注釈

Vista および Windows 7 に付属する認識エンジンは、入力フレーズに文法規則を適用するときに、大文字と小文字と文字の幅を無視します。 この種類の比較の詳細については、列挙値OrdinalIgnoreCaseIgnoreWidthCompareOptions参照してください。 認識エンジンは、新しい行と余分な空白も無視し、句読点をリテラル入力として扱います。

このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって EmulateRecognize(String)スローされる例外に関するページを参照してください。

こちらもご覧ください

適用対象

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Source:
SpeechRecognizer.cs
Source:
SpeechRecognizer.cs

非同期音声認識にオーディオではなくテキストを使用して、共有された音声認識エンジンに対する特定の語の入力をエミュレートし、語と読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。

public:
 void EmulateRecognizeAsync(cli::array <System::Speech::Recognition::RecognizedWordUnit ^> ^ wordUnits, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync (System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : System.Speech.Recognition.RecognizedWordUnit[] * System.Globalization.CompareOptions -> unit
Public Sub EmulateRecognizeAsync (wordUnits As RecognizedWordUnit(), compareOptions As CompareOptions)

パラメーター

wordUnits
RecognizedWordUnit[]

認識操作のための必要を格納する単語単位の配列。

compareOptions
CompareOptions

エミュレートされた認識操作に使用する比較の種類を示す列挙値のビットごとの組み合わせ。

注釈

このメソッドは、 パラメーターで RecognitionResult 指定された情報を使用して オブジェクトを wordUnits 作成します。

認識エンジンは、入力フレーズに compareOptions 文法規則を適用するときに を使用します。 Vista および Windows 7 に付属する認識エンジンは、 または IgnoreCase 値が存在する場合、大文字と小文字をOrdinalIgnoreCase区別します。 認識エンジンは常に文字幅を無視し、かな型は無視しません。 認識エンジンは、新しい行と余分な空白も無視し、句読点をリテラル入力として扱います。 文字幅とかな型の詳細については、 列挙を CompareOptions 参照してください。

このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって EmulateRecognize(RecognizedWordUnit[], CompareOptions)スローされる例外に関するページを参照してください。

こちらもご覧ください

適用対象

EmulateRecognizeAsync(String, CompareOptions)

Source:
SpeechRecognizer.cs
Source:
SpeechRecognizer.cs

非同期音声認識にオーディオではなくテキストを使用して、共有された音声認識エンジンに対するフレーズの入力をエミュレートし、フレーズと読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。

public:
 void EmulateRecognizeAsync(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync (string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : string * System.Globalization.CompareOptions -> unit
Public Sub EmulateRecognizeAsync (inputText As String, compareOptions As CompareOptions)

パラメーター

inputText
String

認識操作の入力語句。

compareOptions
CompareOptions

エミュレートされた認識操作に使用する比較の種類を示す列挙値のビットごとの組み合わせ。

注釈

認識エンジンは、入力フレーズに compareOptions 文法規則を適用するときに を使用します。 Vista および Windows 7 に付属する認識エンジンは、 または IgnoreCase 値が存在する場合、大文字と小文字をOrdinalIgnoreCase区別します。 認識エンジンは常に文字幅を無視し、かな型は無視しません。 認識エンジンは、新しい行と余分な空白も無視し、句読点をリテラル入力として扱います。 文字幅とかな型の詳細については、 列挙を CompareOptions 参照してください。

このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって EmulateRecognize(String, CompareOptions)スローされる例外に関するページを参照してください。

こちらもご覧ください

適用対象