SpeechRecognizer.RecognizeOnceAsync Methode
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.
Startet die Spracherkennung als asynchronen Vorgang.
public System.Threading.Tasks.Task<Microsoft.CognitiveServices.Speech.SpeechRecognitionResult> RecognizeOnceAsync ();
member this.RecognizeOnceAsync : unit -> System.Threading.Tasks.Task<Microsoft.CognitiveServices.Speech.SpeechRecognitionResult>
Public Function RecognizeOnceAsync () As Task(Of SpeechRecognitionResult)
Gibt zurück
Eine Aufgabe, die den Erkennungsvorgang darstellt. Der Task gibt den Wert von SpeechRecognitionResult
Beispiele
Im folgenden Beispiel wird eine Spracherkennung erstellt, und dann wird das Erkennungsergebnis abgerufen und ausgegeben.
public async Task SpeechSingleShotRecognitionAsync()
{
// Creates an instance of a speech config with specified subscription key and region.
// Replace with your own subscription key and service region (e.g., "westus").
var config = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
// Creates a speech recognizer using microphone as audio input. Default language: en-us
using (var recognizer = new SpeechRecognizer(config))
{
Console.WriteLine("Say something...");
// Starts speech recognition, and returns after a single utterance is recognized.
// The end of a single utterance is determined by listening for silence at the end
// or until a timeout period has elapsed. The task returns the
// recognition text as result.
//
// Note: Since RecognizeOnceAsync() returns only a single utterance,
// it is suitable only for single shot recognition like command or query.
// For long-running multi-utterance recognition,
// use StartContinuousRecognitionAsync() instead.
var result = await recognizer.RecognizeOnceAsync();
// Checks result.
if (result.Reason == ResultReason.RecognizedSpeech)
{
Console.WriteLine($"RECOGNIZED: Text={result.Text}");
}
else if (result.Reason == ResultReason.NoMatch)
{
Console.WriteLine($"NOMATCH: Speech could not be recognized.");
}
else if (result.Reason == ResultReason.Canceled)
{
var cancellation = CancellationDetails.FromResult(result);
Console.WriteLine($"CANCELED: Reason={cancellation.Reason}");
if (cancellation.Reason == CancellationReason.Error)
{
Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}");
Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}");
Console.WriteLine($"CANCELED: Did you update the subscription info?");
}
}
}
}
Hinweise
Das Ende einer einzelnen Äußerung wird durch das Zuhören auf Stille am Ende oder bis zum Ablauf eines Timeoutzeitraums bestimmt. Der Task gibt die erkannte Sprache in **SpeechRecognitionResult.Text** zurück.
Sie können **StopContinuousRecognitionAsync** aufrufen, um die Erkennung zu beenden, bevor ein Ausdruck erkannt wurde.
Da diese Methode nur eine einzelne Äußerung zurückgibt, eignet sie sich nur für die Erkennung von Einzelschüssen wie Befehl oder Abfrage. Verwenden Sie für die Erkennung von mehrfachen Äußerungen mit langer Laufzeit stattdessen **StartContinuousRecognitionAsync**.
Siehe auch: Erste Schritte mit Spracherkennung
Gilt für:
Azure SDK for .NET