SpeechRecognitionEngine.SetInputToWaveFile(String) Methode

Definitie

Hiermee configureert u het object voor het SpeechRecognitionEngine ontvangen van invoer van een Waveform-audio-indeling (.wav).

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

Parameters

path
String

Het pad van het bestand dat moet worden gebruikt als invoer.

Voorbeelden

In het volgende voorbeeld wordt herkenning uitgevoerd op de audio in een .wav-bestand en wordt de herkende tekst naar de console geschreven.

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

Opmerkingen

Als de recognizer het einde van het invoerbestand bereikt tijdens een herkenningsbewerking, wordt de herkenningsbewerking voltooid met de beschikbare invoer. Eventuele volgende herkenningsbewerkingen kunnen een uitzondering genereren, tenzij u de invoer bijwerkt naar de recognizer.

Van toepassing op

Zie ook