다음을 통해 공유


SpeechRecognizer.SpeechRecognized 이벤트

정의

인식기의 음성 인식의 문법 중 하 나와 일치 하는 입력을 받을 때 발생 합니다.

public:
 event EventHandler<System::Speech::Recognition::SpeechRecognizedEventArgs ^> ^ SpeechRecognized;
public event EventHandler<System.Speech.Recognition.SpeechRecognizedEventArgs> SpeechRecognized;
member this.SpeechRecognized : EventHandler<System.Speech.Recognition.SpeechRecognizedEventArgs> 
Public Custom Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs) 
Public Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs) 

이벤트 유형

예제

다음 예제는 콘솔 애플리케이션을 음성 인식 문법을 로드 하 고 음성 인식기에 의해 발생 하는 연결 된 이벤트, 연결 된 인식 결과, 및 공유 인식기에 음성 입력을 보여 줍니다. Windows 음성 인식을 실행 하지 않는 경우 다음이 애플리케이션을 시작 Windows 음성 인식 됩니다도 시작 됩니다.

"시카고에서 마이애미 갈"을 트리거할 같은 입력 음성는 SpeechRecognized 이벤트입니다. "Fly me Houston에서 시카고로" 라는 문구를 말하기 트리거되지는 SpeechRecognized 이벤트입니다.

이 예제에서는 사용에 대 한 처리기를 SpeechRecognized 성공적으로 표시할 이벤트 구 및 콘솔에 포함 된 의미 체계를 인식 합니다.

using System;  
using System.Speech.Recognition;  

namespace SampleRecognition  
{  
  class Program  
  {  
    static void Main(string[] args)  

    // Initialize a shared speech recognition engine.  
    {  
      using (SpeechRecognizer recognizer = new SpeechRecognizer())  
      {  

        // Create SemanticResultValue objects that contain cities and airport codes.  
        SemanticResultValue chicago = new SemanticResultValue("Chicago", "ORD");  
        SemanticResultValue boston = new SemanticResultValue("Boston", "BOS");  
        SemanticResultValue miami = new SemanticResultValue("Miami", "MIA");  
        SemanticResultValue dallas = new SemanticResultValue("Dallas", "DFW");  

        // Create a Choices object and add the SemanticResultValue objects, using  
        // implicit conversion from SemanticResultValue to GrammarBuilder  
        Choices cities = new Choices();  
        cities.Add(new Choices(new GrammarBuilder[] { chicago, boston, miami, dallas }));  

        // Build the phrase and add SemanticResultKeys.  
        GrammarBuilder chooseCities = new GrammarBuilder();  
        chooseCities.Append("I want to fly from");  
        chooseCities.Append(new SemanticResultKey("origin", cities));  
        chooseCities.Append("to");  
        chooseCities.Append(new SemanticResultKey("destination", cities));  

        // Build a Grammar object from the GrammarBuilder.  
        Grammar bookFlight = new Grammar(chooseCities);  
        bookFlight.Name = "Book Flight";  

        // Add a handler for the LoadGrammarCompleted event.  
        recognizer.LoadGrammarCompleted +=  
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);  

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

        // Load the grammar object to the recognizer.  
        recognizer.LoadGrammarAsync(bookFlight);  

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

    // Handle the LoadGrammarCompleted event.  
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)  
    {  
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);  
      Console.WriteLine();  
    }  

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("Speech recognized:  " + e.Result.Text);  
      Console.WriteLine();  
      Console.WriteLine("Semantic results:");  
      Console.WriteLine("  The flight origin is " + e.Result.Semantics["origin"].Value);  
      Console.WriteLine("  The flight destination is " + e.Result.Semantics["destination"].Value);  
    }  
  }  
}  

설명

인식기가 발생 합니다 SpeechRecognized 입력 로드 하 고 사용할 음성 인식 문법 중 하 나와 일치 하는 하는 데 충분 한 신뢰를 사용 하 여 결정 하는 경우에 이벤트입니다. 합니다 Result 의 속성을 SpeechRecognitionRejectedEventArgs 포함 허용 되 RecognitionResult 개체입니다.

관리 하는 공유 인식기에 대 한 신뢰도 임계값 SpeechRecognizer, 사용자 프로필과 연결 되며 Windows 레지스트리에 저장 합니다. 애플리케이션 공유 된 인식기의 속성에 대 한 레지스트리 변경을 작성 해야 합니다.

인식기 문법에 일치 하는 입력을 받을 때 합니다 Grammar 개체를 발생 시킬 수는 SpeechRecognized 이벤트입니다. 합니다 Grammar 개체의 SpeechRecognized 이벤트는 음성 인식기의 이전 SpeechRecognized 이벤트입니다.

대리자를 만드는 경우는 SpeechRecognized 이벤트에 이벤트를 처리 하는 메서드를 식별 합니다. 이벤트를 이벤트 처리기와 연결하려면 대리자의 인스턴스를 해당 이벤트에 추가합니다. 대리자를 제거하지 않는 경우 이벤트가 발생할 때마다 이벤트 처리기가 호출됩니다. 이벤트 처리기 대리자에 대 한 자세한 내용은 참조 하세요. 이벤트 및 대리자합니다.

적용 대상

추가 정보