Udostępnij za pośrednictwem


SpeechRecognitionEngine.Recognize Metoda

Definicja

Uruchamia synchroniczną operację rozpoznawania mowy.

Przeciążenia

Recognize()

Wykonuje synchroniczną operację rozpoznawania mowy.

Recognize(TimeSpan)

Wykonuje synchroniczną operację rozpoznawania mowy z określonym początkowym okresem przekroczenia limitu czasu ciszy.

Uwagi

Te metody wykonują pojedynczą operację rozpoznawania synchronicznego. Rozpoznawanie wykonuje tę operację względem załadowanych i włączonych gramatyk rozpoznawania mowy.

Podczas wywołania tej metody rozpoznawanie może zgłaszać następujące zdarzenia:

Rozpoznawanie nie zgłasza zdarzenia RecognizeCompleted podczas korzystania z jednej z Recognize metod.

Metody Recognize zwracają RecognitionResult obiekt lub null jeśli operacja nie powiodła się lub rozpoznawanie nie jest włączone.

Operacja rozpoznawania synchronicznego może zakończyć się niepowodzeniem z następujących powodów:

  • Mowa nie jest wykrywana przed wygaśnięciem interwałów przekroczenia limitu czasu dla BabbleTimeout właściwości lub InitialSilenceTimeout lub parametru initialSilenceTimeoutRecognize metody.

  • Aparat rozpoznawania wykrywa mowę, ale nie znajduje dopasowań w żadnym z załadowanych i włączonych Grammar obiektów.

Aby zmodyfikować sposób obsługi czasu rozpoznawania mowy lub ciszy w odniesieniu do rozpoznawania, użyj BabbleTimeoutwłaściwości , InitialSilenceTimeout, EndSilenceTimeouti EndSilenceTimeoutAmbiguous .

Przed wykonaniem rozpoznawania SpeechRecognitionEngine element musi mieć co najmniej jeden Grammar obiekt załadowany. Aby załadować gramatykę rozpoznawania mowy, użyj LoadGrammar metody or LoadGrammarAsync .

Aby wykonać rozpoznawanie asynchroniczne, użyj jednej z RecognizeAsync metod.

Recognize()

Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs

Wykonuje synchroniczną operację rozpoznawania mowy.

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

Zwraca

Wynik rozpoznawania danych wejściowych lub null jeśli operacja nie powiodła się lub rozpoznawanie nie jest włączone.

Przykłady

W poniższym przykładzie przedstawiono część aplikacji konsolowej, która demonstruje podstawowe rozpoznawanie mowy. Przykład tworzy obiekt DictationGrammar, ładuje go do rozpoznawania mowy w procesie i wykonuje jedną operację rozpoznawania.

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

Uwagi

Ta metoda wykonuje pojedynczą operację rozpoznawania. Rozpoznawanie wykonuje tę operację względem załadowanych i włączonych gramatyk rozpoznawania mowy.

Podczas wywołania tej metody rozpoznawanie może zgłaszać następujące zdarzenia:

Funkcja rozpoznawania nie zgłasza zdarzenia RecognizeCompleted podczas korzystania z tej metody.

Metoda Recognize() zwraca RecognitionResult obiekt lub null jeśli operacja nie powiodła się.

Operacja rozpoznawania synchronicznego może zakończyć się niepowodzeniem z następujących powodów:

  • Mowa nie jest wykrywana przed wygaśnięciem interwałów limitu czasu dla BabbleTimeout właściwości lub InitialSilenceTimeout .

  • Aparat rozpoznawania wykrywa mowę, ale nie znajduje dopasowań w żadnym z załadowanych i włączonych Grammar obiektów.

Aby wykonać rozpoznawanie asynchroniczne, użyj jednej z RecognizeAsync metod.

Zobacz też

Dotyczy

Recognize(TimeSpan)

Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs

Wykonuje synchroniczną operację rozpoznawania mowy z określonym początkowym okresem przekroczenia limitu czasu ciszy.

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

Interwał czasu rozpoznawania mowy akceptuje dane wejściowe zawierające tylko milczenie przed sfinalizowaniem rozpoznawania.

Zwraca

Wynik rozpoznawania danych wejściowych lub null jeśli operacja nie powiodła się lub rozpoznawanie nie jest włączone.

Przykłady

W poniższym przykładzie przedstawiono część aplikacji konsolowej, która demonstruje podstawowe rozpoznawanie mowy. Przykład tworzy obiekt DictationGrammar, ładuje go do rozpoznawania mowy w procesie i wykonuje jedną operację rozpoznawania.

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

Uwagi

Jeśli aparat rozpoznawania mowy wykryje mowę w przedziale czasu określonym przez initialSilenceTimeout argument, wykonuje pojedynczą operację rozpoznawania, Recognize(TimeSpan) a następnie kończy działanie. Parametr initialSilenceTimeout zastępuje właściwość rozpoznawania InitialSilenceTimeout .

Podczas wywołania tej metody rozpoznawanie może zgłaszać następujące zdarzenia:

Funkcja rozpoznawania nie zgłasza zdarzenia RecognizeCompleted podczas korzystania z tej metody.

Metoda Recognize() zwraca RecognitionResult obiekt lub null jeśli operacja nie powiodła się.

Operacja rozpoznawania synchronicznego może zakończyć się niepowodzeniem z następujących powodów:

  • Mowa nie jest wykrywana przed wygaśnięciem interwałów przekroczenia limitu czasu dla BabbleTimeout parametru initialSilenceTimeout lub .

  • Aparat rozpoznawania wykrywa mowę, ale nie znajduje dopasowań w żadnym z załadowanych i włączonych Grammar obiektów.

Aby wykonać rozpoznawanie asynchroniczne, użyj jednej z RecognizeAsync metod.

Zobacz też

Dotyczy