Microsoft Text To Speech Бесконечное ожидание в Visual Studio

#c# #xamarin #text-to-speech

#c# #xamarin #преобразование текста в речь

Вопрос:

         var config = SpeechConfig.FromSubscription("", "westeurope");
        var synthesizer = new SpeechSynthesizer(config);
        var result = await synthesizer.SpeakSsmlAsync(xmlFirstPart   voice   xmlSecondPart   synthesisText   xmlThirdPart);
        var stream = AudioDataStream.FromResult(result);

        string file = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), fileName   ".wav");
        await stream.SaveToWaveFileAsync(file);
 

Здравствуйте, этот фрагмент кода работает с Microsoft.Когнитивные сервисы.Речевой NuGet в Visual Studio — он выводит запрошенную строку в аудио. Проблема в том, что после вывода звука программа зависает. Я предполагаю, что проблема заключается в третьей строке кода, поскольку функция await не завершается, хотя она выполнила свою работу. Кто-нибудь знает, как я могу решить эту проблему? Заранее благодарю вас.

Комментарии:

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

2. У меня около 30 гигабайт свободного места; Процессор — Intel Core i7-5930K Процессор 3,5 ГГц ОПЕРАТИВНАЯ память — 32 ГБ ОЗУ Графический процессор — 1080Ti Запускается ли программа на вашем компьютере?

3. Я не уверен. Попробуйте добавить минимально воспроизводимую версию, чтобы я мог ее протестировать. У меня есть следующее: Ryzen 7 3800XT, 2080 SUPER, 1 ТБ NVME SSD, 16 ГБ оперативной памяти 3200 МГц

4. Вы запускаете этот фрагмент кода из приложения с графическим интерфейсом (учитывая xamarin, вероятно, да) или командной строки? Используйте отладчик, чтобы проверить, действительно ли вы «зависаете» там, где вы думаете. Попробуйте добавить .ConfigureAwait(false) в свои await вызовы.

5. Кристиан, добавление .ConfigureAwait(false) было решением моей проблемы. Большое вам спасибо, приветствия.