다음을 통해 공유


SpeechRecognitionEngine.RequestRecognizerUpdate 메서드

정의

인식기가 상태 업데이트를 멈출 것을 요청합니다.

오버로드

RequestRecognizerUpdate(Object, TimeSpan)

인식기가 상태를 업데이트하기 위해 일시 중지되고 관련된 이벤트에 대한 오프셋과 사용자 토큰을 제공하도록 요청합니다.

RequestRecognizerUpdate(Object)

인식기가 상태를 업데이트하기 위해 일시 중지되고 관련된 이벤트에 대한 사용자 토큰을 제공하도록 요청합니다.

RequestRecognizerUpdate()

인식기가 상태 업데이트를 멈출 것을 요청합니다.

설명

이 메서드를 사용하여 변경 내용을 인식기로 동기화합니다. 로드 하거나 언로드하면 스피치 인식 그래 머 인식기 처리 하는 동안 입력을 하는 경우 예를 들어이 메서드를 사용 하며 RecognizerUpdateReached 인식기의 상태를 사용 하 여 애플리케이션 동작을 동기화 하는 이벤트입니다.

이 메서드를 호출 하는 경우 인식기 일시 중지 또는 비동기 작업을 완료 하 고 생성 된 RecognizerUpdateReached 이벤트입니다. RecognizerUpdateReached 이벤트 처리기 상태 인식 작업 사이 인식기를 수정할 수 있습니다. 이벤트를 처리할 RecognizerUpdateReached 때 인식기는 이벤트 처리기가 반환될 때까지 일시 중지됩니다.

참고

인식기가 이벤트를 발생 RecognizerUpdateReached 하기 전에 인식기 입력이 변경되면 요청이 삭제됩니다.

이 메서드가 호출 될 때를 나타냅니다.

  • 인식기를 즉시 생성 인식기 입력을 처리 하지 않은, 경우를 RecognizerUpdateReached 이벤트입니다.

  • 인식기 대기 또는 배경 소음으로 구성 된 입력을 처리 하 고, 있으면 인식기 인식 작업을 일시 중지 하 고 생성 된 RecognizerUpdateReached 이벤트입니다.

  • 인식기 인식 작업을 완료 한 다음 생성 인식기 입력 하지 않았기 대기 또는 배경 소음을 처리 하는 경우는 RecognizerUpdateReached 이벤트입니다.

인식기 처리 하는 동안는 RecognizerUpdateReached 이벤트:

  • 인식기에는 입력 및의 값을 처리 하지 않습니다는 RecognizerAudioPosition 속성 동일 하 게 유지 합니다.

  • 인식기 입력을 수집 하 고 값을 계속 합니다 AudioPosition 속성을 변경할 수 있습니다.

RequestRecognizerUpdate(Object, TimeSpan)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

인식기가 상태를 업데이트하기 위해 일시 중지되고 관련된 이벤트에 대한 오프셋과 사용자 토큰을 제공하도록 요청합니다.

public:
 void RequestRecognizerUpdate(System::Object ^ userToken, TimeSpan audioPositionAheadToRaiseUpdate);
public void RequestRecognizerUpdate (object userToken, TimeSpan audioPositionAheadToRaiseUpdate);
member this.RequestRecognizerUpdate : obj * TimeSpan -> unit
Public Sub RequestRecognizerUpdate (userToken As Object, audioPositionAheadToRaiseUpdate As TimeSpan)

매개 변수

userToken
Object

작업에 대한 정보가 포함된 사용자 정의 정보입니다.

audioPositionAheadToRaiseUpdate
TimeSpan

요청을 지연하는 현재 AudioPosition의 오프셋입니다.

설명

인식기가 현재 AudioPositionaudioPositionAheadToRaiseUpdate와 같을 때까지 인식기 RecognizerAudioPosition 업데이트 요청을 시작하지 않습니다.

인식기 생성 하는 경우는 RecognizerUpdateReached 이벤트를 UserToken 의 속성을 RecognizerUpdateReachedEventArgs 의 값을 포함는 userToken 매개 변수.

추가 정보

적용 대상

RequestRecognizerUpdate(Object)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

인식기가 상태를 업데이트하기 위해 일시 중지되고 관련된 이벤트에 대한 사용자 토큰을 제공하도록 요청합니다.

public:
 void RequestRecognizerUpdate(System::Object ^ userToken);
public void RequestRecognizerUpdate (object userToken);
member this.RequestRecognizerUpdate : obj -> unit
Public Sub RequestRecognizerUpdate (userToken As Object)

매개 변수

userToken
Object

작업에 대한 정보가 포함된 사용자 정의 정보입니다.

설명

인식기 생성 하는 경우는 RecognizerUpdateReached 이벤트를 UserToken 의 속성을 RecognizerUpdateReachedEventArgs 의 값을 포함는 userToken 매개 변수.

오디오 위치 오프셋을 지정 하려면 사용 된 RequestRecognizerUpdate 메서드.

추가 정보

적용 대상

RequestRecognizerUpdate()

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

인식기가 상태 업데이트를 멈출 것을 요청합니다.

public:
 void RequestRecognizerUpdate();
public void RequestRecognizerUpdate ();
member this.RequestRecognizerUpdate : unit -> unit
Public Sub RequestRecognizerUpdate ()

예제

다음 예제에서는 콘솔 애플리케이션을 로드 하 고 언로드합니다 Grammar 개체입니다. 애플리케이션을 사용 합니다 RequestRecognizerUpdate 음성 인식 엔진 업데이트를 받을 수 있도록 일시 중지를 요청 하는 방법입니다. 애플리케이션을 로드 하거나 언로드합니다를 Grammar 개체입니다.

각 업데이트에 대 한 처리기에서 RecognizerUpdateReached 이름 및 현재 로드 된 상태의 이벤트 기록 Grammar 콘솔에는 개체입니다. 문법, 로드 및 언로드될 때 팜 동물의 이름은 팜에 동물 이름과 과일을 차례로 과일의 이름만 먼저 애플리케이션에 인식 합니다.

using System;  
using System.Speech.Recognition;  
using System.Collections.Generic;  
using System.Threading;  

namespace SampleRecognition  
{  
  class Program  
  {  
    private static SpeechRecognitionEngine recognizer;  
    public static void Main(string[] args)  
    {  

      // Initialize an in-process speech recognition engine and configure its input.  
      using (recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))  
      {  
        recognizer.SetInputToDefaultAudioDevice();  

        // Create the first grammar - Farm.  
        Choices animals = new Choices(new string[] { "cow", "pig", "goat" });  
        GrammarBuilder farm = new GrammarBuilder(animals);  
        Grammar farmAnimals = new Grammar(farm);  
        farmAnimals.Name = "Farm";  

        // Create the second grammar - Fruit.  
        Choices fruit = new Choices(new string[] { "apples", "peaches", "oranges" });  
        GrammarBuilder favorite = new GrammarBuilder(fruit);  
        Grammar favoriteFruit = new Grammar(favorite);  
        favoriteFruit.Name = "Fruit";  

        // Attach event handlers.  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  
        recognizer.RecognizerUpdateReached +=  
          new EventHandler<RecognizerUpdateReachedEventArgs>(recognizer_RecognizerUpdateReached);  
        recognizer.SpeechRecognitionRejected +=  
          new EventHandler<SpeechRecognitionRejectedEventArgs>(recognizer_SpeechRecognitionRejected);  

        // Load the Farm grammar.  
        recognizer.LoadGrammar(farmAnimals);  

        // Start asynchronous, continuous recognition.  
        recognizer.RecognizeAsync(RecognizeMode.Multiple);  
        Console.WriteLine("Starting asynchronous, continuous recognition");  
        Console.WriteLine("  Farm grammar is loaded and enabled.");  

        // Pause to recognize farm animals.  
        Thread.Sleep(7000);  
        Console.WriteLine();  

        // Request an update and load the Fruit grammar.  
        recognizer.RequestRecognizerUpdate();  
        recognizer.LoadGrammarAsync(favoriteFruit);  
        Thread.Sleep(7000);  

        // Request an update and unload the Farm grammar.  
        recognizer.RequestRecognizerUpdate();  
        recognizer.UnloadGrammar(farmAnimals);  
        Thread.Sleep(7000);  
      }  

      // Keep the console window open.  
      Console.WriteLine();  
      Console.WriteLine("Press any key to exit...");  
      Console.ReadKey();  
    }  

    // At the update, get the names and enabled status of the currently loaded grammars.  
    public static void recognizer_RecognizerUpdateReached(  
      object sender, RecognizerUpdateReachedEventArgs e)  
    {  
      Console.WriteLine();  
      Console.WriteLine("Update reached:");  
      Thread.Sleep(1000);  

      string qualifier;  
      List<Grammar> grammars = new List<Grammar>(recognizer.Grammars);  
      foreach (Grammar g in grammars)  
      {  
        qualifier = (g.Enabled) ? "enabled" : "disabled";  
        Console.WriteLine("  {0} grammar is loaded and {1}.",  
        g.Name, qualifier);  
      }  
    }  

    // Write the text of the recognized phrase to the console.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("    Speech recognized: " + e.Result.Text);  
    }  

    // Write a message to the console when recognition fails.  
    static void recognizer_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)  
    {  
      Console.WriteLine("    Recognition attempt failed");  
    }  
  }  
}  

설명

인식기 생성 하는 경우는 RecognizerUpdateReached 이벤트를 UserToken 의 속성을 RecognizerUpdateReachedEventArgsnull.

사용자 토큰을 제공 하려면 사용 합니다 RequestRecognizerUpdate 또는 RequestRecognizerUpdate 메서드. 오디오 위치 오프셋을 지정 하려면 사용 된 RequestRecognizerUpdate 메서드.

추가 정보

적용 대상