Freigeben über


TranslationRecognizer.RecognizeOnceAsync Methode

Definition

Startet die Sprachübersetzung als asynchronen Vorgang.

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)

Gibt zurück

Eine Aufgabe, die den Erkennungsvorgang darstellt. Der Task gibt den Wert von zurück. TranslationRecognitionResult

Beispiele

Erstellen einer Übersetzungserkennung, Abrufen und Drucken des Erkennungsergebnisses

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

Hinweise

Das Ende einer einzelnen Äußerung wird bestimmt, indem am Ende auf Stille lauscht oder bis ein Timeoutzeitraum abgelaufen ist. Der Task gibt die übersetzte Version der erkannten Sprache in **TranslationRecognitionResult.Text** zurück.

Sie können **StopContinuousRecognitionAsync** aufrufen, um die Erkennung zu beenden, bevor ein Ausdruck für die Übersetzung erkannt wurde.

Da diese Methode nur eine einzelne Äußerung zurückgibt, eignet sie sich nur für die Erkennung einzelner Aufnahmen wie Befehl oder Abfrage. Verwenden Sie für die Erkennung von lang andauernden Mehrfachäußerungen stattdessen **StartContinuousRecognitionAsync**.

Siehe auch: Erste Schritte mit der Sprachübersetzung

Gilt für: