Aracılığıyla paylaş


SpeechRecognizer.RequestRecognizerUpdate Yöntem

Tanım

Paylaşılan tanıyıcının durumunu duraklatıp güncelleştirmesini istemektedir.

Aşırı Yüklemeler

RequestRecognizerUpdate(Object, TimeSpan)

Paylaşılan tanıyıcının durumunu duraklatıp güncelleştirmesini ve ilişkili olay için bir uzaklık ve kullanıcı belirteci sağlamasını istemektedir.

RequestRecognizerUpdate(Object)

Paylaşılan tanıyıcının durumunu duraklatıp güncelleştirmesini ve ilişkili olay için bir kullanıcı belirteci sağlamasını istemektedir.

RequestRecognizerUpdate()

Paylaşılan tanıyıcının durumunu duraklatıp güncelleştirmesini istemektedir.

Örnekler

Aşağıdaki örnekte nesneleri yükleyen ve kaldıran bir konsol uygulaması gösterilmektedir Grammar . Uygulama, konuşma tanıma altyapısının RequestRecognizerUpdate bir güncelleştirme alabilmesi için duraklatma isteğinde bulunmak için yöntemini kullanır. Uygulama daha sonra bir Grammar nesneyi yükler veya kaldırır.

Her güncelleştirmede, olay işleyicisi RecognizerUpdateReached o anda yüklü Grammar olan nesnelerin adını ve durumunu konsola yazar. Dil bilgisi yüklendikçe ve kaldırıldıkçe, uygulama önce çiftlik hayvanlarının adlarını, ardından çiftlik hayvanlarının adlarını ve meyvelerin adlarını, ardından yalnızca meyvelerin adlarını tanır.

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

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

      // Initialize an in-process speech recognition engine and configure its input.  
      recognizer = new SpeechRecognizer();  

      // 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);  

      // Check to see if recognizer is loaded, wait if it is not loaded.  
      if (recognizer.State != RecognizerState.Listening)  
      {  
        Thread.Sleep(5000);  

        // Put recognizer in listening state.  
        recognizer.EmulateRecognizeAsync("Start listening");  
      }  

      // Load the Farm grammar.  
      recognizer.LoadGrammar(farmAnimals);  
      Console.WriteLine("Grammar Farm is loaded");  

      // 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(5000);  

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

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

    public static void recognizer_RecognizerUpdateReached(object sender, RecognizerUpdateReachedEventArgs e)  
    {  
      // At the update, get the names and enabled status of the currently loaded grammars.  
      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("  Grammar {0} is loaded and is {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);  
    }  
  }  
}  

Açıklamalar

Paylaşılan tanıyıcıya yapılan değişiklikleri eşitlemek için bu yöntemi kullanın. Örneğin, tanıyıcı girişi işlerken konuşma tanıma dil bilgisini yükler veya kaldırırsanız, uygulama davranışınızı tanıyıcının durumuyla eşitlemek için bu yöntemi ve RecognizerUpdateReached olayı kullanın.

Bu yöntem çağrıldığında, tanıyıcı zaman uyumsuz işlemleri duraklatır veya tamamlar ve bir RecognizerUpdateReached olay oluşturur. Daha sonra bir RecognizerUpdateReached olay işleyicisi tanıma işlemleri arasındaki tanıyıcının durumunu değiştirebilir.

Bu yöntem çağrıldığında:

  • Tanıyıcı girişi işlemezse, tanıyıcı hemen olayı oluşturur RecognizerUpdateReached .

  • Tanıyıcı sessizlik veya arka plan gürültüsünden oluşan girişi işliyorsa, tanıyıcı tanıma işlemini duraklatır ve olayı oluşturur RecognizerUpdateReached .

  • Tanıyıcı sessizlik veya arka plan gürültüsünden oluşmayan girişleri işliyorsa, tanıyıcı tanıma işlemini tamamlar ve ardından olayı oluşturur RecognizerUpdateReached .

Tanıyıcı olayı işlerken RecognizerUpdateReached :

  • Tanıyıcı girişi işlemez ve özelliğin RecognizerAudioPosition değeri aynı kalır.

  • Tanıyıcı giriş toplamaya devam eder ve özelliğin AudioPosition değeri değişebilir.

Paylaşılan tanıyıcının bir uygulama bir olayı işlerken SpeechRecognized tanıma işlemlerini duraklatıp duraklatmayacağını değiştirmek için özelliğini kullanın PauseRecognizerOnRecognition .

RequestRecognizerUpdate(Object, TimeSpan)

Kaynak:
SpeechRecognizer.cs
Kaynak:
SpeechRecognizer.cs
Kaynak:
SpeechRecognizer.cs

Paylaşılan tanıyıcının durumunu duraklatıp güncelleştirmesini ve ilişkili olay için bir uzaklık ve kullanıcı belirteci sağlamasını istemektedir.

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)

Parametreler

userToken
Object

İşlemin bilgilerini içeren kullanıcı tanımlı bilgiler.

audioPositionAheadToRaiseUpdate
TimeSpan

İsteği geciktirmek için geçerli AudioPosition uzaklık.

Açıklamalar

Tanıyıcı, tanıyıcının geçerli AudioPosition değerine ve parametresinin değerine audioPositionAheadToRaiseUpdate eşit olana kadar tanıyıcı RecognizerAudioPosition güncelleştirme isteğini başlatmaz.

Tanıyıcı olayı oluşturduğunda RecognizerUpdateReached , UserToken özelliğinin RecognizerUpdateReachedEventArgs özelliği parametresinin userToken değerini içerir.

Ayrıca bkz.

Şunlara uygulanır

RequestRecognizerUpdate(Object)

Kaynak:
SpeechRecognizer.cs
Kaynak:
SpeechRecognizer.cs
Kaynak:
SpeechRecognizer.cs

Paylaşılan tanıyıcının durumunu duraklatıp güncelleştirmesini ve ilişkili olay için bir kullanıcı belirteci sağlamasını istemektedir.

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

Parametreler

userToken
Object

İşlemin bilgilerini içeren kullanıcı tanımlı bilgiler.

Açıklamalar

Tanıyıcı olayı oluşturduğunda RecognizerUpdateReached , UserToken özelliğinin RecognizerUpdateReachedEventArgs özelliği parametresinin userToken değerini içerir.

Ses konumu uzaklığını belirtmek için yöntemini kullanın RequestRecognizerUpdate .

Ayrıca bkz.

Şunlara uygulanır

RequestRecognizerUpdate()

Kaynak:
SpeechRecognizer.cs
Kaynak:
SpeechRecognizer.cs
Kaynak:
SpeechRecognizer.cs

Paylaşılan tanıyıcının durumunu duraklatıp güncelleştirmesini istemektedir.

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

Açıklamalar

Tanıyıcı olayı oluşturduğunda RecognizerUpdateReached özelliğinin UserTokenRecognizerUpdateReachedEventArgs özelliğidir null.

Kullanıcı belirteci sağlamak için veya RequestRecognizerUpdate yöntemini kullanınRequestRecognizerUpdate. Ses konumu uzaklığını belirtmek için yöntemini kullanın RequestRecognizerUpdate .

Ayrıca bkz.

Şunlara uygulanır