다음을 통해 공유


SpeechRecognitionEngine.Recognize 메서드

정의

동기 음성 인식 작업을 시작합니다.

오버로드

Recognize()

동기 음성 인식 작업을 실행합니다.

Recognize(TimeSpan)

지정한 초기 대기 시간을 사용 하 여 동기 음성 인식 작업을 수행합니다.

설명

이러한 메서드는 단일 동기 인식 작업을 수행합니다. 인식기가 로드되고 활성화된 음성 인식 문법에 대해 이 작업을 수행합니다.

이 메서드를 호출하는 동안 인식기에서 다음 이벤트를 발생할 수 있습니다.

메서드 중 Recognize 하나를 사용할 때 인식기가 이벤트를 발생 RecognizeCompleted 시키지 않습니다.

메서드는 Recognize 개체를 RecognitionResult 반환하거나 null 작업이 성공하지 못하거나 인식기가 사용하도록 설정되지 않은 경우 입니다.

동기 인식 작업은 다음과 같은 이유로 실패할 수 있습니다.

  • 또는 속성 또는 InitialSilenceTimeout 메서드의 매개 변수에 대한 BabbleTimeout 시간 제한 간격이 만료되기 전에는 음성이 initialSilenceTimeoutRecognize 검색되지 않습니다.

  • 인식 엔진은 음성을 검색하지만 로드되고 활성화된 Grammar 개체에서 일치하는 항목을 찾지 못했습니다.

인식기가 인식과 관련하여 음성 또는 무음의 타이밍을 처리하는 방법을 수정하려면 , , InitialSilenceTimeoutEndSilenceTimeoutEndSilenceTimeoutAmbiguous 속성을 사용합니다BabbleTimeout.

SpeechRecognitionEngine 인식을 수행하기 전에 하나 Grammar 이상의 개체를 로드해야 합니다. 음성 인식 문법을 로드하려면 또는 LoadGrammarAsync 메서드를 LoadGrammar 사용합니다.

비동기 인식을 수행하려면 메서드 중 RecognizeAsync 하나를 사용합니다.

Recognize()

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

동기 음성 인식 작업을 실행합니다.

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

반환

입력에 대한 인식 결과, 또는 작업이 성공적으로 수행되지 않았거나 인식기를 사용할 수 없는 경우 null

예제

다음 예제에서는 기본 음성 인식 기능을 보여 주는 콘솔 애플리케이션 부분을 보여 줍니다. 이 예제에서는 를 DictationGrammar만들고, In-Process 음성 인식기에 로드하고, 하나의 인식 작업을 수행합니다.

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

설명

이 메서드는 단일 인식 작업을 수행합니다. 인식기가 로드되고 활성화된 음성 인식 문법에 대해 이 작업을 수행합니다.

이 메서드를 호출하는 동안 인식기에서 다음 이벤트를 발생할 수 있습니다.

이 메서드를 RecognizeCompleted 사용할 때 인식기가 이벤트를 발생시키지 않습니다.

메서드는 Recognize() 개체를 RecognitionResult 반환하거나 null 작업이 성공하지 못한 경우 를 반환합니다.

동기 인식 작업은 다음과 같은 이유로 실패할 수 있습니다.

  • 또는 InitialSilenceTimeout 속성에 대한 시간 제한 간격이 만료되기 전에는 음성이 BabbleTimeout 검색되지 않습니다.

  • 인식 엔진은 음성을 검색하지만 로드되고 활성화된 Grammar 개체에서 일치하는 항목을 찾지 못했습니다.

비동기 인식을 수행하려면 메서드 중 RecognizeAsync 하나를 사용합니다.

추가 정보

적용 대상

Recognize(TimeSpan)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

지정한 초기 대기 시간을 사용 하 여 동기 음성 인식 작업을 수행합니다.

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

매개 변수

initialSilenceTimeout
TimeSpan

음성 인식기에서 인식 기능을 완료하기 전의 음소거에 대해서만 입력을 받는 시간 간격입니다.

반환

입력에 대한 인식 결과, 또는 작업이 성공적으로 수행되지 않았거나 인식기를 사용할 수 없는 경우 null

예제

다음 예제에서는 기본 음성 인식 기능을 보여 주는 콘솔 애플리케이션 부분을 보여 줍니다. 이 예제에서는 를 DictationGrammar만들고, In-Process 음성 인식기에 로드하고, 하나의 인식 작업을 수행합니다.

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

설명

음성 인식 엔진이 인수 Recognize(TimeSpan)initialSilenceTimeout 지정된 시간 간격 내에서 음성을 검색하는 경우 단일 인식 작업을 수행한 다음 종료합니다. 매개 변수는 initialSilenceTimeout 인식기 InitialSilenceTimeout 속성을 대체합니다.

이 메서드를 호출하는 동안 인식기에서 다음 이벤트를 발생할 수 있습니다.

이 메서드를 RecognizeCompleted 사용할 때 인식기가 이벤트를 발생시키지 않습니다.

메서드는 Recognize() 개체를 RecognitionResult 반환하거나 null 작업이 성공하지 못한 경우 를 반환합니다.

동기 인식 작업은 다음과 같은 이유로 실패할 수 있습니다.

  • 매개 변수에 대해 또는 에 대한 BabbleTimeout 시간 제한 간격이 만료되기 전에는 음성이 initialSilenceTimeout 검색되지 않습니다.

  • 인식 엔진은 음성을 검색하지만 로드되고 활성화된 Grammar 개체에서 일치하는 항목을 찾지 못했습니다.

비동기 인식을 수행하려면 메서드 중 RecognizeAsync 하나를 사용합니다.

추가 정보

적용 대상