次の方法で共有


SpeechRecognitionEngine.SetInputToWaveFile(String) メソッド

定義

SpeechRecognitionEngine オブジェクトを、WAVE オーディオ形式 (.wav) ファイルからの入力を受け取るように構成します。

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

パラメーター

path
String

入力として使用するファイルのパス。

次の例では、.wav ファイル内のオーディオに対して認識を実行し、認識されたテキストをコンソールに書き込みます。

using System;
using System.IO;
using System.Speech.Recognition;
using System.Speech.AudioFormat;

namespace SampleRecognition
{
  class Program
  {
    static bool completed;

    static void Main(string[] args)

    // Initialize an in-process speech recognition engine.
    {
      using (SpeechRecognitionEngine recognizer =
         new SpeechRecognitionEngine())
      {

        // Create and load a grammar.
        Grammar dictation = new DictationGrammar();
        dictation.Name = "Dictation Grammar";

        recognizer.LoadGrammar(dictation);

        // Configure the input to the recognizer.
recognizer.SetInputToWaveFile(@"c:\temp\SampleWAVInput.wav");

        // Attach event handlers for the results of recognition.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
        recognizer.RecognizeCompleted +=
          new EventHandler<RecognizeCompletedEventArgs>(recognizer_RecognizeCompleted);

        // Perform recognition on the entire file.
        Console.WriteLine("Starting asynchronous recognition...");
        completed = false;
        recognizer.RecognizeAsync();

        // Keep the console window open.
        while (!completed)
        {
          Console.ReadLine();
        }
        Console.WriteLine("Done.");
      }

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

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      if (e.Result != null && e.Result.Text != null)
      {
        Console.WriteLine("  Recognized text =  {0}", e.Result.Text);
      }
      else
      {
        Console.WriteLine("  Recognized text not available.");
      }
    }

    // Handle the RecognizeCompleted event.
    static void recognizer_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
    {
      if (e.Error != null)
      {
        Console.WriteLine("  Error encountered, {0}: {1}",
        e.Error.GetType().Name, e.Error.Message);
      }
      if (e.Cancelled)
      {
        Console.WriteLine("  Operation cancelled.");
      }
      if (e.InputStreamEnded)
      {
        Console.WriteLine("  End of stream encountered.");
      }
      completed = true;
    }
  }
}

注釈

認識操作中に認識エンジンが入力ファイルの末尾に達すると、認識操作は使用可能な入力で終了します。 後続の認識操作では、認識エンジンへの入力を更新しない限り、例外が生成される可能性があります。

適用対象

こちらもご覧ください