SpeechRecognizer.AudioPosition Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera bieżącą lokalizację w strumieniu audio generowanym przez urządzenie, które dostarcza dane wejściowe do rozpoznawania mowy.
public:
property TimeSpan AudioPosition { TimeSpan get(); };
public TimeSpan AudioPosition { get; }
member this.AudioPosition : TimeSpan
Public ReadOnly Property AudioPosition As TimeSpan
Wartość właściwości
Bieżąca lokalizacja w strumieniu wejściowym audio aparatu rozpoznawania mowy, za pośrednictwem którego odebrała dane wejściowe.
Przykłady
W poniższym przykładzie funkcja rozpoznawania mowy udostępnionej używa gramatyki dyktowania, aby dopasować dane wejściowe mowy. Procedura obsługi zdarzeń SpeechDetected jest zapisywana w konsoli programu AudioPosition, RecognizerAudioPositioni AudioLevel gdy aparat rozpoznawania mowy wykrywa mowę w danych wejściowych.
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");
}
}
}
}
Uwagi
Współużytkowany aparat rozpoznawania odbiera dane wejściowe, gdy rozpoznawanie mowy na pulpicie jest uruchomione.
Właściwość AudioPosition
odwołuje się do pozycji urządzenia wejściowego w generowanym strumieniu audio.
RecognizerAudioPosition Natomiast właściwość odwołuje się do pozycji aparatu rozpoznawania w przetwarzaniu danych wejściowych audio. Te pozycje mogą być różne. Jeśli na przykład aparat rozpoznawania otrzymał dane wejściowe, dla których nie wygenerował jeszcze wyniku rozpoznawania, wartość RecognizerAudioPosition właściwości jest mniejsza niż wartość AudioPosition właściwości.