c# - 如何在 C# 中更改语音合成器的语音或速度

标签 c# uwp text-to-speech

我有一个 slider 和一个可用语音列表,我希望允许用户在语音合成期间使用 SpeechSynthesizer 动态更改它们。类(class)。我可以在语音开始之前使用 SpeechSynthesizer.Options.SpeakingRateSpeechSynthesizer.Voice 完成所有这些操作。但是,我希望用户能够在语音发生时更改这些设置。

在语音合成异步运行时更改属性不起作用。我尝试创建一个新的 SpeechSynthesizer() 并更改语音,但这并不会改变正在运行的原始合成。我知道这是可能的,因为它是在 Microsoft Edge 中完成的。有什么想法吗?

最佳答案

I know this is possible, because it is done in Microsoft Edge.

首先我不太清楚Microsoft Edge是如何实现这个功能的。边缘很可能没有使用此 API。

我检查了documentation并测试了 official sample ,我还没有找到在演讲开始时可以修改Voice和SpeakingRate的选项。所以这个功能对于UWP来说应该是不可能的。

关于c# - 如何在 C# 中更改语音合成器的语音或速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59708923/

相关文章:

c# - DataGridView 检查是否选择了任何行并且它不是 NewRow

带有大括号的 C# 文本格式错误

C# UWP DataTemplate 内存泄漏

c# - 在 SQL 数据库中搜索 (C# UWP)

http - 在我的 Windows Phone 上获取主机文件

iphone - 文字转语音:阅读列表并在标题之间播放音频文件

android - 使用 onClick 时禁用 onTouch

c# - 我应该在编写任何锁之前对多线程问题进行单元测试吗?

c# - 如何用另一个数据表更新一个数据表?

delphi - 在哪里可以找到delphi的“文字转语音”组件?