Aracılığıyla paylaş


SpeechRecognizer.AudioPosition Özellik

Tanım

Konuşma tanımaya giriş sağlayan cihaz tarafından oluşturulan ses akışındaki geçerli konumu alır.

public:
 property TimeSpan AudioPosition { TimeSpan get(); };
public TimeSpan AudioPosition { get; }
member this.AudioPosition : TimeSpan
Public ReadOnly Property AudioPosition As TimeSpan

Özellik Değeri

Konuşma tanımanın ses giriş akışında giriş aldığı geçerli konum.

Örnekler

Aşağıdaki örnekte, paylaşılan konuşma tanıyıcısı konuşma girişiyle eşleştirmek için dikte dil bilgisi kullanır. Olay işleyicisi SpeechDetected konsoluna AudioPosition, RecognizerAudioPositionve AudioLevel konuşma tanıyıcı girişinde konuşma algıladığında yazar.

using System;  
using System.Speech.Recognition;  

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

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

      // Add handlers for events.  
      recognizer.LoadGrammarCompleted +=   
        new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);  
      recognizer.SpeechRecognized +=   
        new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  
      recognizer.StateChanged +=   
        new EventHandler<StateChangedEventArgs>(recognizer_StateChanged);  
      recognizer.SpeechDetected +=   
        new EventHandler<SpeechDetectedEventArgs>(recognizer_SpeechDetected);  

      // Create a dictation grammar.  
      Grammar dictation = new DictationGrammar();  
      dictation.Name = "Dictation";  

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

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

    // Gather information about detected speech and write it to the console.  
    static void recognizer_SpeechDetected(object sender, SpeechDetectedEventArgs e)  
    {  
      Console.WriteLine();  
      Console.WriteLine("Speech detected:");  
      Console.WriteLine("  Audio level: " + recognizer.AudioLevel);  
      Console.WriteLine("  Audio position: " + recognizer.AudioPosition);  
      Console.WriteLine("  Recognizer audio position: " + recognizer.RecognizerAudioPosition);  
    }  

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

      // Add event handler code here.  
    }  

    // Write the name of the loaded grammar to the console.  
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)  
    {  
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);  
    }  

    // Put the shared speech recognizer into "listening" mode.  
    static void recognizer_StateChanged(object sender, StateChangedEventArgs e)  
    {  
      if (e.RecognizerState != RecognizerState.Stopped)  
      {  
        recognizer.EmulateRecognizeAsync("Start listening");  
      }  
    }  
  }  
}  

Açıklamalar

Paylaşılan tanıyıcı, masaüstü konuşma tanıma çalışırken giriş alır.

özelliği, AudioPosition giriş cihazının oluşturulan ses akışındaki konumuna başvurur. Buna karşılık özelliği, RecognizerAudioPosition tanıyıcının ses girişini işlemedeki konumuna başvurur. Bu pozisyonlar farklı olabilir. Örneğin, tanıyıcı henüz bir tanıma sonucu oluşturmadığı bir giriş aldıysa, özelliğin RecognizerAudioPosition değeri özelliğin değerinden AudioPosition küçüktür.

Şunlara uygulanır

Ayrıca bkz.