RecognizeCompletedEventArgs.BabbleTimeout Egenskap

Definition

Hämtar ett värde som anger om en pratbar timeout genererade RecognizeCompleted händelsen.

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

Egenskapsvärde

true SpeechRecognitionEngine om har identifierat endast bakgrundsbrus under längre tid än vad som angavs av dess BabbleTimeout egenskap, annars false.

Exempel

I följande exempel utförs asynkron taligenkänning på en grammatik för SpeechRecognitionEngine.RecognizeAsync taligenkänning med hjälp av metoden med den processbaserade identifieraren. Exemplet använder Choices och GrammarBuilder objekt för att skapa taligenkänningens grammatik innan du skapar den till ett Grammar objekt. En hanterare för SpeechRecognitionEngine.RecognizeCompleted händelsen matar ut information om igenkänningsåtgärden till konsolen.

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

Gäller för

Se även