我正在尝试使用 C# 作为我的代码来创建一个具有语音识别功能的网页。 请帮助我,因为我想知道当另一条消息开始说话时如何停止 SpeakAsync 来传递完整消息。
像这样的伪代码
protected void Button1_Click(object sender, EventArgs e)
{
ss.SpeakAsync(CurrentStop); // it means if there is a current message it should stop before delivering the next line
ss.SpeakAsync("Phrase and Sentence");
}
protected void Button2_Click(object sender, EventArgs e)
{
ss.SpeakAsync(CurrentStop);
ss.SpeakAsync("Phrase is a group of words without a complete thought.");
}
请帮助我。这是我第一次使用 c# 和 system.speech
最佳答案
使用 GetCurrentlySpokenPrompt
和 SpeakAsyncCancel
方法取消当前提示:
var current = ss.GetCurrentlySpokenPrompt();
if (current != null)
ss.SpeakAsyncCancel(current);
完整示例
var ss = new SpeechSynthesizer();
ss.SpeakAsync("This is a test.");
Thread.Sleep(300);
var current = ss.GetCurrentlySpokenPrompt();
if (current != null)
ss.SpeakAsyncCancel(current);
ss.SpeakAsync("Goodbye.");
关于c# - 如果另一条消息即将说出,如何停止 SpeakAsync?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31493650/