如何以编程方式停止 Azure 认知服务合成器?

How to stop Azure Cognitive Service Synthesizer programmatically?

我正在做一个 C# TTS 项目,我使用的库是 Azure Microsoft.CognitiveServices.Speech.Synthesizer 我可以看到有一种方法 StartSpeakingTextAsync 可以开始对话,但我找不到任何停止或取消对话的方法。如果对话很长,在用户给出输入后对话仍在继续,则这是必要的。所以我必须以编程方式取消或停止它,但是如何呢?

对话的正常 TTS 处理将在 StartSpeakingTextAsync 完成任务后停止。

如果在处理过程中需要手动取消或停止,可以创建一个线程启动它的任务,然后通过Thread.Abort方法取消或停止。我认为这是实现您需求的最简单方法。

作为参考,您可以参考一些关于取消线程的 SO 线程,例如 How to Cancel a Thread?