Sdílet prostřednictvím


SpeechRecognitionEngine.Recognize Metoda

Definice

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

Přetížení

Recognize()

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

Recognize(TimeSpan)

Provede synchronní operaci rozpoznávání řeči se zadaným počátečním časovým limitem ticha.

Poznámky

Tyto metody provádějí jednu synchronní operaci rozpoznávání. Rozpoznávání provádí 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:

Rozpoznávání nevyvolá RecognizeCompleted událost při použití některé z Recognize metod.

Metody Recognize vrátí RecognitionResult objekt nebo null pokud operace není úspěšná nebo rozpoznávání není povoleno.

Operace synchronního rozpoznávání může selhat z následujících důvodů:

  • Řeč se nezjistí před vypršením intervalů časového limitu BabbleTimeout pro vlastnosti nebo InitialSilenceTimeout nebo pro initialSilenceTimeout parametr Recognize metody.

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

Pokud chcete změnit způsob, jakým rozpoznávání zpracovává časování řeči nebo ticha s ohledem na rozpoznávání, použijte BabbleTimeoutvlastnosti , EndSilenceTimeoutInitialSilenceTimeout, a EndSilenceTimeoutAmbiguous .

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

K provedení asynchronního rozpoznávání použijte jednu z RecognizeAsync metod .

Recognize()

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 rozpoznávání není povoleno.

Příklady

Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči. V příkladu se vytvoří objekt , který DictationGrammarnačte 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í provádí 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:

Rozpoznávání při použití této metody nevyvolá RecognizeCompleted událost.

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

Operace synchronního rozpoznávání může selhat z následujících důvodů:

  • Řeč se nezjistí před vypršením časových limitů pro BabbleTimeout vlastnosti nebo InitialSilenceTimeout .

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

K provedení asynchronního rozpoznávání použijte jednu z RecognizeAsync metod .

Viz také

Platí pro

Recognize(TimeSpan)

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

Provede synchronní operaci rozpoznávání řeči se zadaným počátečním časovým limitem 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

Časový interval, po který rozpoznávání řeči přijímá vstup, který před dokončením rozpoznávání obsahuje pouze ticho.

Návraty

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

Příklady

Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči. V příkladu se vytvoří objekt , který DictationGrammarnačte 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 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 pak se ukončí. 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:

Rozpoznávání při použití této metody nevyvolá RecognizeCompleted událost.

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

Operace synchronního rozpoznávání může selhat z následujících důvodů:

  • Řeč se nezjistí před vypršením intervalů časového limitu BabbleTimeout pro parametr nebo initialSilenceTimeout .

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

K provedení asynchronního rozpoznávání použijte jednu z RecognizeAsync metod .

Viz také

Platí pro