Sdílet prostřednictvím


SpeechRecognizer.AudioPosition Vlastnost

Definice

Získá aktuální umístění ve zvukovém streamu generovaném zařízením, které poskytuje vstup do rozpoznávání řeči.

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

Hodnota vlastnosti

Aktuální umístění ve zvukovém vstupním streamu rozpoznávání řeči, přes který přijal vstup.

Příklady

V následujícím příkladu používá sdílený rozpoznávání řeči ke spárování vstupu řeči gramatiku diktování. Obslužná rutina události SpeechDetected zapisuje do konzoly AudioPositionRecognizerAudioPosition, a AudioLevel když rozpoznávání řeči rozpozná řeč na svém vstupu.

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");  
      }  
    }  
  }  
}  

Poznámky

Sdílený rozpoznávání přijímá vstup, když je spuštěné rozpoznávání řeči na ploše.

Vlastnost AudioPosition odkazuje na pozici vstupního zařízení ve vygenerovaném zvukovém streamu. Naproti tomu RecognizerAudioPosition vlastnost odkazuje na pozici rozpoznávání při zpracování zvukového vstupu. Tyto pozice se můžou lišit. Pokud například rozpoznávání přijalo vstup, pro který ještě negeneroval výsledek rozpoznávání, je hodnota RecognizerAudioPosition vlastnosti menší než hodnota AudioPosition vlastnosti.

Platí pro

Viz také