Compartir vía


SpeechRecognitionEngine.SetInputToWaveFile(String) Método

Definición

Configura el objeto SpeechRecognitionEngine para recibir entradas de un archivo de formato de audio de forma de onda (.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 del audio en 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 alcanza el 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 se actualice la entrada al reconocedor.

Se aplica a

Consulte también