SpeechRecognitionEngine.SetInputToWaveFile(String) Método

Definición

Configura el SpeechRecognitionEngine objeto para recibir la entrada de un archivo de formato de audio waveform (.wav).

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

Parámetros

path
String

Ruta de acceso del archivo que se va a usar como entrada.

Ejemplos

En el ejemplo siguiente se realiza el reconocimiento en el audio de un archivo .wav y se escribe el texto reconocido en la consola.

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

Comentarios

Si el reconocedor llega al final del archivo de entrada durante una operación de reconocimiento, la operación de reconocimiento finaliza con la entrada disponible. Las operaciones de reconocimiento posteriores pueden generar una excepción, a menos que actualice la entrada al reconocedor.

Se aplica a

Consulte también