SpeechRecognizer.RecognizeOnceAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicia o reconhecimento de fala como uma operação assíncrona.
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)
Retornos
Uma tarefa que representa a operação de reconhecimento. A tarefa retorna um valor de SpeechRecognitionResult
Exemplos
O exemplo a seguir cria um reconhecedor de fala e, em seguida, obtém e imprime o resultado do reconhecimento.
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?");
}
}
}
}
Comentários
O fim de um único enunciado é determinado ouvindo o silêncio no final ou até que um período de tempo limite tenha decorrido. A tarefa retorna a fala reconhecida em **SpeechRecognitionResult.Text**.
Você pode chamar **StopContinuousRecognitionAsync** para interromper o reconhecimento antes que uma frase seja reconhecida.
Como esse método retorna apenas um único enunciado, ele é adequado apenas para reconhecimento de captura única, como comando ou consulta. Para reconhecimento de vários enunciados de longa execução, use **StartContinuousRecognitionAsync** em vez disso.
Confira também: Introdução à conversão de fala em texto
Aplica-se a
Azure SDK for .NET