ASP.NEt MVC Текст в речь - PullRequest
       4

ASP.NEt MVC Текст в речь

2 голосов
/ 13 июня 2011

У нас есть сайт MVC, и теперь мы хотим добавить функциональность, где мы хотим возможность считывать текст на стороне клиента. Мы показываем набор счетов и хотим прочитать детали счета. Я знаю, что вы можете использовать библиотеку System.Speech с настольными приложениями для достижения этой цели, передавая подробности, которые нужно прочитать, но кто-нибудь знает, как мы можем сделать это в проекте MVC.

Ответы [ 2 ]

2 голосов
/ 13 июня 2011

Ну, это только у меня в голове, и оно не было проверено, но вы можете сделать что-то вроде этого:

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");
}
0 голосов
/ 15 декабря 2015

Я исследовал и нашел этот способ, похожий на ответ Джона Калберера:

public async Task<ActionResult> Index()
    {
        Task<FileContentResult> 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;
    }

В этом случае я использую испанский голос, но, конечно, вы можете выбрать свой голос или избежатьsynth.SelectVoice и использовать предопределенный

...