SpeechSynthesizer создает исключение System.InvalidOperationException - PullRequest
0 голосов
/ 12 февраля 2020

Я хочу создать файлы преобразования текста в речь, и вот что у меня есть:

SpeechSynthesizer TheSpeechSynthesizer = new SpeechSynthesizer();

TheSpeechSynthesizer.Rate = 1;
TheSpeechSynthesizer.Speak("Hello");

TheSpeechSynthesizer.SetOutputToWaveFile(HttpRuntime.AppDomainAppPath + "\\ClientFiles\\test.wav");
TheSpeechSynthesizer.SetOutputToWaveFile("c:\\test.wav");

В тот момент, когда отладчик попадает в строку 2, он вызывает исключение System.InvalidOperationException

Редактировать: журнал ошибок выглядит следующим образом:

System.InvalidOperationException Внутреннее исключение: асинхронные операции не разрешены в этом контексте. Страница, запускающая асинхронную операцию, должна иметь для атрибута Asyn c значение true, и асинхронная операция может быть запущена только на странице до события PreRenderComplete. Внутренний источник: System.Web Трассировка внутреннего стека: в System.Web.LegacyAspNetSynchronizationContext.OperationStarted () в System.Speech.Internal.Synthesis.VoiceSynthesis..ctor (WeakReference speechSynthesizer) в System.Speech.Synthes.izerSySextSyy System.Speech.Synthesis.SpeechSynthesizer.set_Rate (значение Int32) в

Как это можно исправить?

enter image description here

...