Sdílet prostřednictvím


SpeechRecognitionEngine.Recognize Metoda

Definice

Spustí synchronní operaci rozpoznávání řeči.

Přetížení

Name Description
Recognize()

Provede synchronní operaci rozpoznávání řeči.

Recognize(TimeSpan)

Provede synchronní operaci rozpoznávání řeči se zadanou počáteční dobou časového limitu ticha.

Poznámky

Tyto metody provádějí jednu synchronní operaci rozpoznávání. Rozpoznávání provede tuto operaci s načtenými a povolenými gramatikami rozpoznávání řeči.

Během volání této metody může rozpoznávání vyvolat následující události:

Funkce recognizer nevyvolá RecognizeCompleted událost při použití jedné z Recognize metod.

Metody Recognize vrací RecognitionResult objekt, nebo null pokud operace není úspěšná nebo není povolen rozpoznávání.

Synchronní operace rozpoznávání může selhat z následujících důvodů:

  • Řeč není zjištěna před vypršením časových limitů intervalů pro vlastnosti BabbleTimeout nebo InitialSilenceTimeout parametr initialSilenceTimeout metody Recognize .

  • Modul rozpoznávání rozpozná řeč, ale nenajde žádné shody v žádném z načtených a povolených Grammar objektů.

Chcete-li upravit, jak rozpoznávací nástroj zpracovává časování řeči nebo ticha s ohledem na rozpoznávání, použijte BabbleTimeout, InitialSilenceTimeouta EndSilenceTimeoutAmbiguousEndSilenceTimeoutvlastnosti.

Před rozpoznáváním SpeechRecognitionEngine musí být načten alespoň jeden Grammar objekt. Pokud chcete načíst gramatiku rozpoznávání řeči, použijte metodu nebo LoadGrammarAsync gramatikuLoadGrammar.

Chcete-li provést asynchronní rozpoznávání, použijte jednu z RecognizeAsync metod.

Recognize()

Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs

Provede synchronní operaci rozpoznávání řeči.

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

Návraty

Výsledek rozpoznávání pro vstup nebo null pokud operace není úspěšná nebo není povolena funkce rozpoznávání.

Příklady

Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči. Příklad vytvoří DictationGrammar, načte ho do rozpoznávání řeči v procesu a provede jednu operaci rozpoznávání.

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

Poznámky

Tato metoda provádí jednu operaci rozpoznávání. Rozpoznávání provede tuto operaci s načtenými a povolenými gramatikami rozpoznávání řeči.

Během volání této metody může rozpoznávání vyvolat následující události:

Funkce recognizer při použití této metody nevyvolá RecognizeCompleted událost.

Metoda Recognize() vrátí RecognitionResult objekt, nebo null pokud operace není úspěšná.

Synchronní operace rozpoznávání může selhat z následujících důvodů:

  • Před vypršením intervalů časového limitu BabbleTimeout nebo InitialSilenceTimeout vlastností se rozpoznávání řeči nezjistí.

  • Modul rozpoznávání rozpozná řeč, ale nenajde žádné shody v žádném z načtených a povolených Grammar objektů.

Chcete-li provést asynchronní rozpoznávání, použijte jednu z RecognizeAsync metod.

Viz také

Platí pro

Recognize(TimeSpan)

Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs

Provede synchronní operaci rozpoznávání řeči se zadanou počáteční dobou časového limitu ticha.

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

Parametry

initialSilenceTimeout
TimeSpan

Interval doby, po který rozpoznávání řeči přijímá vstup obsahující pouze ticho před dokončením rozpoznávání.

Návraty

Výsledek rozpoznávání pro vstup nebo null pokud operace není úspěšná nebo není povolena funkce rozpoznávání.

Příklady

Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči. Příklad vytvoří DictationGrammar, načte ho do rozpoznávání řeči v procesu a provede jednu operaci rozpoznávání.

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

Poznámky

Pokud modul pro rozpoznávání řeči rozpozná řeč v časovém intervalu určeném argumentem initialSilenceTimeout , Recognize(TimeSpan) provede jednu operaci rozpoznávání a ukončí se. Parametr initialSilenceTimeout nahrazuje vlastnost rozpoznávání InitialSilenceTimeout .

Během volání této metody může rozpoznávání vyvolat následující události:

Funkce recognizer při použití této metody nevyvolá RecognizeCompleted událost.

Metoda Recognize() vrátí RecognitionResult objekt, nebo null pokud operace není úspěšná.

Synchronní operace rozpoznávání může selhat z následujících důvodů:

  • Řeč se nezjistí před vypršením časových limitů intervalů BabbleTimeout pro parametr nebo pro tento initialSilenceTimeout parametr.

  • Modul rozpoznávání rozpozná řeč, ale nenajde žádné shody v žádném z načtených a povolených Grammar objektů.

Chcete-li provést asynchronní rozpoznávání, použijte jednu z RecognizeAsync metod.

Viz také

Platí pro