Compartir a través de


TranslationRecognizer.RecognizeOnceAsync Método

Definición

Inicia la traducción de voz como una operación asincrónica.

public System.Threading.Tasks.Task<Microsoft.CognitiveServices.Speech.Translation.TranslationRecognitionResult> RecognizeOnceAsync ();
member this.RecognizeOnceAsync : unit -> System.Threading.Tasks.Task<Microsoft.CognitiveServices.Speech.Translation.TranslationRecognitionResult>
Public Function RecognizeOnceAsync () As Task(Of TranslationRecognitionResult)

Devoluciones

Tarea que representa la operación de reconocimiento. La tarea devuelve un valor de TranslationRecognitionResult

Ejemplos

Creación de un reconocedor de traducción, obtención e impresión del resultado del reconocimiento

public async Task TranslationSingleShotRecognitionAsync()
{
    // Creates instance of a speech translation config with specified subscription key and region.
    // Replace with your own subscription key and service region (e.g., "westus").
    var config = SpeechTranslationConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");

    string fromLanguage = "en-US";
    config.SpeechRecognitionLanguage = fromLanguage;
    config.AddTargetLanguage("de");

    // Creates a translation recognizer.
    using (var recognizer = new TranslationRecognizer(config))
    {
        // Starts recognizing.
        Console.WriteLine("Say something...");

        // Starts translation 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
        // recognized text as well as the translation.
        // 
        // Note: Since RecognizeOnceAsync() returns only a single utterance, 
        // it is suitable only for single shot recognition, like a command or query.
        //
        // For long-running multi-utterance recognition, 
        // use StartContinuousRecognitionAsync() instead.

        var result = await recognizer.RecognizeOnceAsync();

        if (result.Reason == ResultReason.TranslatedSpeech)
        {
            Console.WriteLine($"\nFinal result: Reason: {result.Reason.ToString()}, recognized text: {result.Text}.");
            foreach (var element in result.Translations)
            {
                Console.WriteLine($"    TRANSLATING into '{element.Key}': {element.Value}");
            }
        }
    }
}

Comentarios

El final de una sola expresión se determina escuchando silencio al final o hasta que haya transcurrido un período de tiempo de espera. La tarea devuelve la versión traducida de la voz reconocida en **TranslationRecognitionResult.Text**.

Puede llamar a **StopContinuousRecognitionAsync** para detener el reconocimiento antes de que se reconozca una frase para la traducción.

Dado que este método devuelve solo una sola expresión, solo es adecuada para el reconocimiento de captura única, como el comando o la consulta. Para el reconocimiento de varias expresiones de ejecución prolongada, use **StartContinuousRecognitionAsync** en su lugar.

Consulte también: Introducción a la traducción de voz

Se aplica a