다음을 통해 공유


SpeechRecognitionEngine.LoadGrammar(Grammar) 메서드

정의

Grammar 개체를 동기적으로 로드합니다.

public:
 void LoadGrammar(System::Speech::Recognition::Grammar ^ grammar);
public void LoadGrammar (System.Speech.Recognition.Grammar grammar);
member this.LoadGrammar : System.Speech.Recognition.Grammar -> unit
Public Sub LoadGrammar (grammar As Grammar)

매개 변수

grammar
Grammar

로드할 문법 개체입니다.

예외

Grammar이(가) null인 경우

Grammar가 유효한 상태가 아닌 경우

예제

다음 예제에서는 기본 음성 인식 기능을 보여 주는 콘솔 애플리케이션 부분을 보여 줍니다. 이 예제에서는를 만들고 DictationGrammar 이를 음성 인식기로 로드 합니다.

using System;  
using System.Speech.Recognition;  

namespace SpeechRecognitionApp  
{  
  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());  

        // Add a handler for the speech recognized event.  
        recognizer.SpeechRecognized +=   
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  

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

        // Start asynchronous, continuous speech recognition.  
        recognizer.RecognizeAsync(RecognizeMode.Multiple);  

        // Keep the console window open.  
        while (true)  
        {  
          Console.ReadLine();  
        }  
      }  
    }  

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("Recognized text: " + e.Result.Text);  
    }  
  }  
}  

설명

Grammar개체가 이미 로드 되었거나, 비동기적으로 로드 되거나, 인식기로 로드 되지 못한 경우 인식기는 예외를 throw 합니다. 동일한 개체를 여러 인스턴스에 로드할 수 없습니다 Grammar SpeechRecognitionEngine . 대신 Grammar 각 인스턴스에 대해 새 개체를 만듭니다 SpeechRecognitionEngine .

인식기를 실행 하는 경우 애플리케이션 사용 해야 합니다 RequestRecognizerUpdate 로드, 언로드을 사용 하도록 설정 또는 문법을 사용 하지 않도록 설정 하기 전에 음성 인식 엔진을 일시 중지 합니다.

문법을 로드 하면 기본적으로 사용 하도록 설정 됩니다. 로드 된 문법을 사용 하지 않도록 설정 하려면 Enabled 속성을 사용 합니다.

개체를 비동기적으로 로드 하려면 Grammar 메서드를 사용 LoadGrammarAsync 합니다.

적용 대상

추가 정보