SpeechRecognizer.AudioPosition Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die aktuelle Position im Audiostream ab, die durch das Gerät generiert wird, das die Spracherkennung mit Eingaben versorgt.
public:
property TimeSpan AudioPosition { TimeSpan get(); };
public TimeSpan AudioPosition { get; }
member this.AudioPosition : TimeSpan
Public ReadOnly Property AudioPosition As TimeSpan
Eigenschaftswert
Die aktuelle Position im Audioeingabestream der Spracherkennung, durch den die Eingabe empfangen wurde.
Beispiele
Im folgenden Beispiel verwendet die freigegebene Spracherkennung eine Diktiergrammatik, um die Spracheingabe abzugleichen. Ein Handler für das SpeechDetected Ereignis schreibt in die Konsole , AudioPositionRecognizerAudioPositionundAudioLevel, wenn die Spracherkennung Sprache an seiner Eingabe erkennt.
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");
}
}
}
}
Hinweise
Die freigegebene Erkennung empfängt eingaben, während die Desktop-Spracherkennung ausgeführt wird.
Die AudioPosition
-Eigenschaft verweist auf die Position des Eingabegeräts im generierten Audiostream. Im Gegensatz dazu verweist die RecognizerAudioPosition -Eigenschaft auf die Position der Erkennung bei der Verarbeitung von Audioeingaben. Diese Positionen können unterschiedlich sein. Wenn die Erkennung beispielsweise Eingaben empfangen hat, für die sie noch kein Erkennungsergebnis generiert hat, ist der Wert der RecognizerAudioPosition Eigenschaft kleiner als der Wert der AudioPosition Eigenschaft.