Partager via


TranslationRecognizer.RecognizeOnceAsync Méthode

Définition

Démarre la traduction vocale en tant qu’opération asynchrone.

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)

Retours

Tâche représentant l’opération de reconnaissance. La tâche retourne une valeur de TranslationRecognitionResult

Exemples

Créer un outil de reconnaissance de traduction, obtenir et imprimer le résultat de la reconnaissance

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}");
            }
        }
    }
}

Remarques

La fin d’un seul énoncé est déterminée en écoutant le silence à la fin ou jusqu’à ce qu’un délai d’expiration soit écoulé. La tâche retourne la version traduite de la parole reconnue dans **TranslationRecognitionResult.Text**.

Vous pouvez appeler **StopContinuousRecognitionAsync** pour arrêter la reconnaissance avant qu’une expression ne soit reconnue pour la traduction.

Étant donné que cette méthode ne retourne qu’un seul énoncé, elle ne convient qu’à la reconnaissance d’un seul coup, comme une commande ou une requête. Pour la reconnaissance multi-énoncé de longue durée, utilisez **StartContinuousRecognitionAsync** à la place.

Voir aussi : Prise en main de la traduction vocale

S’applique à