2 Stimmen

ASP.NEt MVC Text in Sprache umwandeln

Wir haben eine MVC-Website und möchten nun eine Funktionalität hinzufügen, mit der wir die Fähigkeit haben, Text auf der Client-Seite vorzulesen. Wir zeigen eine Reihe von Rechnungen an und möchten die Rechnungsdetails vorlesen. Ich weiß, dass Sie die System.Speech-Bibliothek mit Desktop-Anwendungen verwenden können, um dies zu erreichen, indem Sie die Details weitergeben, die vorgelesen werden sollen, aber weiß jemand, wie wir das in dem MVC-Projekt tun können.

2voto

John Kalberer Punkte 5500

Nun, das ist mir jetzt gerade eingefallen und es wurde nicht getestet, aber Sie könnten etwas Ähnliches tun:

public ActionResult Speak(string text)
{
    var speech = new SpeechSynthesizer();
    speech.Speak(text);

    byte[] bytes;
    using (var stream = new MemoryStream())
    {
        speech.SetOutputToWaveStream(stream);
        bytes = stream.ToArray();
    }
    return File(bytes, "audio/x-wav");
}

0voto

Michael Aguilar Punkte 717

Ich habe recherchiert und diesen Weg gefunden, der ähnlich der Antwort von John Kalberer ist:

public async Task Index()
    {
        Task task = Task.Run(() =>
        {
            using (var synth = new SpeechSynthesizer())
            {
                synth.SelectVoice("Microsoft Sabina Desktop");

                using (var stream = new MemoryStream())
                {
                    synth.SetOutputToWaveStream(stream);
                    synth.Speak("hola mundo");
                    byte[] bytes = stream.GetBuffer();
                    return File(bytes, "audio/x-wav");
                }
            }
        });

        return await task;
    }

In diesem Fall verwende ich die spanische Stimme, aber natürlich können Sie Ihre Stimme auswählen oder das synth.SelectVoice vermeiden und die voreingestellte verwenden

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X