SpeechRecognitionEngine.Recognize Methode

Definitie

Hiermee start u een synchrone spraakherkenningsbewerking.

Overloads

Name Description
Recognize()

Voert een synchrone spraakherkenningsbewerking uit.

Recognize(TimeSpan)

Voert een synchrone spraakherkenningsbewerking uit met een opgegeven initiële time-outperiode voor stilte.

Opmerkingen

Met deze methoden wordt één synchrone herkenningsbewerking uitgevoerd. De recognizer voert deze bewerking uit op basis van de geladen en ingeschakelde grammatica voor spraakherkenning.

Tijdens een aanroep van deze methode kan de recognizer de volgende gebeurtenissen veroorzaken:

De recognizer genereert de RecognizeCompleted gebeurtenis niet wanneer u een van de Recognize methoden gebruikt.

De Recognize methoden retourneren een RecognitionResult object of null als de bewerking niet is geslaagd of als de recognizer niet is ingeschakeld.

Een synchrone herkenningsbewerking kan om de volgende redenen mislukken:

  • Spraak wordt niet gedetecteerd voordat de time-outintervallen verlopen voor de BabbleTimeout of InitialSilenceTimeout eigenschappen of voor de initialSilenceTimeout parameter van de Recognize methode.

  • De herkenningsengine detecteert spraak, maar vindt geen overeenkomsten in een van de geladen en ingeschakelde Grammar objecten.

Als u wilt wijzigen hoe de recognizer de timing van spraak of stilte verwerkt met betrekking tot herkenning, gebruikt u de BabbleTimeout, InitialSilenceTimeouten EndSilenceTimeouteigenschappen EndSilenceTimeoutAmbiguous .

Er SpeechRecognitionEngine moet ten minste één Grammar object zijn geladen voordat er herkenning wordt uitgevoerd. Als u een grammatica voor spraakherkenning wilt laden, gebruikt u de LoadGrammar of LoadGrammarAsync methode.

Gebruik een van de RecognizeAsync methoden om asynchrone herkenning uit te voeren.

Recognize()

Voert een synchrone spraakherkenningsbewerking uit.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize();
public System.Speech.Recognition.RecognitionResult Recognize();
member this.Recognize : unit -> System.Speech.Recognition.RecognitionResult
Public Function Recognize () As RecognitionResult

Retouren

Het herkenningsresultaat voor de invoer of null als de bewerking niet is geslaagd of als de recognizer niet is ingeschakeld.

Voorbeelden

In het volgende voorbeeld ziet u een deel van een consoletoepassing waarin eenvoudige spraakherkenning wordt gedemonstreert. In het voorbeeld wordt een DictationGrammar, geladen in een in-process spraakherkenning en wordt één herkenningsbewerking uitgevoerd.

using System;
using System.Speech.Recognition;

namespace SynchronousRecognition
{
  class Program
  {
    static void Main(string[] args)
    {
      // Create an in-process speech recognizer for the en-US locale.
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine(
          new System.Globalization.CultureInfo("en-US")))
      {

        // Create and load a dictation grammar.
        recognizer.LoadGrammar(new DictationGrammar());

        // Configure input to the speech recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Modify the initial silence time-out value.
        recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5);

        // Start synchronous speech recognition.
        RecognitionResult result = recognizer.Recognize();

        if (result != null)
        {
          Console.WriteLine("Recognized text = {0}", result.Text);
        }
        else
        {
          Console.WriteLine("No recognition result available.");
        }
      }

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

Opmerkingen

Met deze methode wordt één herkenningsbewerking uitgevoerd. De recognizer voert deze bewerking uit op basis van de geladen en ingeschakelde grammatica voor spraakherkenning.

Tijdens een aanroep van deze methode kan de recognizer de volgende gebeurtenissen veroorzaken:

De recognizer genereert de RecognizeCompleted gebeurtenis niet wanneer u deze methode gebruikt.

De Recognize() methode retourneert een RecognitionResult object of null als de bewerking niet lukt.

Een synchrone herkenningsbewerking kan om de volgende redenen mislukken:

  • Spraak wordt niet gedetecteerd voordat de time-outintervallen voor de BabbleTimeout of InitialSilenceTimeout eigenschappen verlopen.

  • De herkenningsengine detecteert spraak, maar vindt geen overeenkomsten in een van de geladen en ingeschakelde Grammar objecten.

Gebruik een van de RecognizeAsync methoden om asynchrone herkenning uit te voeren.

Zie ook

Van toepassing op

Recognize(TimeSpan)

Voert een synchrone spraakherkenningsbewerking uit met een opgegeven initiële time-outperiode voor stilte.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize(TimeSpan initialSilenceTimeout);
public System.Speech.Recognition.RecognitionResult Recognize(TimeSpan initialSilenceTimeout);
member this.Recognize : TimeSpan -> System.Speech.Recognition.RecognitionResult
Public Function Recognize (initialSilenceTimeout As TimeSpan) As RecognitionResult

Parameters

initialSilenceTimeout
TimeSpan

Het tijdsinterval van een spraakherkenning accepteert invoer die alleen stilte bevat voordat de herkenning wordt voltooid.

Retouren

Het herkenningsresultaat voor de invoer of null als de bewerking niet is geslaagd of als de recognizer niet is ingeschakeld.

Voorbeelden

In het volgende voorbeeld ziet u een deel van een consoletoepassing waarin eenvoudige spraakherkenning wordt gedemonstreert. In het voorbeeld wordt een DictationGrammar, geladen in een in-process spraakherkenning en wordt één herkenningsbewerking uitgevoerd.

using System;
using System.Speech.Recognition;

namespace SynchronousRecognition
{
  class Program
  {
    static void Main(string[] args)
    {
      // Create an in-process speech recognizer for the en-US locale.
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine(
          new System.Globalization.CultureInfo("en-US")))
      {
        // Create and load a dictation grammar.
        recognizer.LoadGrammar(new DictationGrammar());

        // Configure input to the speech recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Start synchronous speech recognition.
        RecognitionResult result = recognizer.Recognize(TimeSpan.FromSeconds(5));

        if (result != null)
        {
          Console.WriteLine("Recognized text = {0}", result.Text);
        }
        else
        {
          Console.WriteLine("No recognition result available.");
        }
      }

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

Opmerkingen

Als de spraakherkenningsengine spraak detecteert binnen het tijdsinterval dat is opgegeven met initialSilenceTimeout een argument, Recognize(TimeSpan) voert u één herkenningsbewerking uit en beëindigt u deze. De initialSilenceTimeout parameter vervangt de eigenschap van InitialSilenceTimeout de recognizer.

Tijdens een aanroep van deze methode kan de recognizer de volgende gebeurtenissen veroorzaken:

De recognizer genereert de RecognizeCompleted gebeurtenis niet wanneer u deze methode gebruikt.

De Recognize() methode retourneert een RecognitionResult object of null als de bewerking niet lukt.

Een synchrone herkenningsbewerking kan om de volgende redenen mislukken:

  • Spraak wordt niet gedetecteerd voordat de time-outintervallen verlopen voor de BabbleTimeout of voor de initialSilenceTimeout parameter.

  • De herkenningsengine detecteert spraak, maar vindt geen overeenkomsten in een van de geladen en ingeschakelde Grammar objecten.

Gebruik een van de RecognizeAsync methoden om asynchrone herkenning uit te voeren.

Zie ook

Van toepassing op