RecognizeCompletedEventArgs.InputStreamEnded Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob der Eingabedatenstrom beendet wurde.

public:
 property bool InputStreamEnded { bool get(); };
public bool InputStreamEnded { get; }
member this.InputStreamEnded : bool
Public ReadOnly Property InputStreamEnded As Boolean

Eigenschaftswert

truewenn die Erkennung keine Audioeingabe mehr hat; andernfalls . false

Beispiele

Im folgenden Beispiel wird die asynchrone Spracherkennung für eine Spracherkennungsgrammatik mithilfe der SpeechRecognitionEngine.RecognizeAsync Methode mit der In-Process-Erkennung ausgeführt. Das Beispiel verwendet Choices und GrammarBuilder Objekte, um die Spracherkennungsgrammatik zu erstellen, bevor sie in ein Grammar Objekt integriert wird. Ein Handler für das SpeechRecognitionEngine.RecognizeCompleted Ereignis gibt Informationen zum Erkennungsvorgang an die Konsole aus.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    private static SpeechRecognitionEngine recognizer;
    public static void Main(string[] args)
    {

      // Initialize a SpeechRecognitionEngine object and set its input.
      recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
      recognizer.SetInputToDefaultAudioDevice();

      // Configure recognition parameters.
      recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5.0);
      recognizer.BabbleTimeout = TimeSpan.FromSeconds(3.0);
      recognizer.EndSilenceTimeout = TimeSpan.FromSeconds(1.0);
      recognizer.EndSilenceTimeoutAmbiguous = TimeSpan.FromSeconds(1.0);

      // Add a handler for the LoadGrammarCompleted event.
      recognizer.LoadGrammarCompleted +=
        new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);

      // Add a handler for the RecognizeCompleted event.
      recognizer.RecognizeCompleted +=
        new EventHandler<RecognizeCompletedEventArgs>(recognizer_RecognizeCompleted);

      // Create a speech recognition grammar and build it into a Grammar object.
      Choices bankingMenu = new Choices(new string[]
      { "Access accounts", "Transfer funds", "Pay bills", "Get loan balance" });
      GrammarBuilder banking = new GrammarBuilder(bankingMenu);
      Grammar bankGrammar = new Grammar(banking);
      bankGrammar.Name = "Banking Menu";

      // Load the Grammar objects to the recognizer.
      recognizer.LoadGrammarAsync(bankGrammar);

      // Start asynchronous, continuous recognition.
      recognizer.RecognizeAsync();

      // Keep the console window open.
      Console.ReadLine();
    }

    // Handle the RecognizeCompleted event.
    static void recognizer_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
    {
      if (e.Error != null)
      {
        Console.WriteLine(
          "RecognizeCompleted, error occurred during recognition: {0}", e.Error);
        return;
      }

      if (e.InitialSilenceTimeout || e.BabbleTimeout)
      {
        Console.WriteLine(
          "RecognizeCompleted: BabbleTimeout({0}), InitialSilenceTimeout({1}).",
          e.BabbleTimeout, e.InitialSilenceTimeout);
        return;
      }

      if (e.InputStreamEnded)
      {
        Console.WriteLine(
          "RecognizeCompleted: AudioPosition({0}), InputStreamEnded({1}).",
          e.AudioPosition, e.InputStreamEnded);
      }

      if (e.Result != null)
      {
        Console.WriteLine(
          "RecognizeCompleted: Grammar ({0}), Text ({1}), Confidence ({2}), AudioPosition ({3}).",
          e.Result.Grammar.Name, e.Result.Text, e.Result.Confidence, e.AudioPosition);
      }

      else
      {
        Console.WriteLine("RecognizeCompleted: No result.");
      }

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

    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      string grammarName = e.Grammar.Name;
      bool grammarLoaded = e.Grammar.Loaded;
      bool grammarEnabled = e.Grammar.Enabled;

      if (e.Error != null)
      {
        Console.WriteLine("LoadGrammar for {0} failed with a {1}.",
        grammarName, e.Error.GetType().Name);

        // Add exception handling code here.
      }

      Console.WriteLine("Grammar {0} {1} loaded and {2} enabled.", grammarName,
        (grammarLoaded) ? "is" : "is not", (grammarEnabled) ? "is" : "is not");
    }
  }
}

Hinweise

Die Erkennung legt diese Eigenschaft fest, true wenn eine Datei den Eingabedatenstrom für die Erkennung bereitstellt und das Ende der Datei erreicht ist. Das Ende des Eingabedatenstroms kann mit einem erfolgreichen Erkennungsvorgang übereinstimmen. Weitere Informationen zur Verwendung einer Datei als Eingabedatenstrom finden Sie in den SetInputToAudioStream und SetInputToWaveFile den Methoden.

Gilt für:

Weitere Informationen