Process process;
// Read Contetnt Mouse click event
private SpeechSynthesizer readerSpeak;
private void btnSpeakContent_Click(object sender, EventArgs e)
{
if(richTextBoxThanglish.Text.Trim() == string.Empty)
{
if (process.HasExited == false)
process.Kill();
MessageBoxWrapper.ShowWarning("Textbox is Empty.", "ABTS", "Textbox is Empty.");
process = Process.Start("narrator.exe");
}
else
{
if (process.HasExited == false)
process.Kill();
readerSpeak = new SpeechSynthesizer();
readerSpeak.SpeakAsync(richTextBoxThanglish.Text.ToString());
if (process.HasExited == true)
process = Process.Start("narrator.exe");
}
}
private void btnStopSpeak_Click(object sender, EventArgs e)
{
if (process.HasExited == true)
process = Process.Start("narrator.exe");
if (!(readerSpeak == null))
{
readerSpeak.Dispose();
}
}
假設上面的程序有兩個按鈕調用speakContent & stop_speak。我運行narrator.exe進程來獲取Windows解說器。 我確實想要說明richtextbox內容沒有重疊的聲音。我知道Synchronos說話,但它會暫停我的應用程序,直到speakContent完成。我需要SpeakAsyn()。 無論如何在語音解說器中添加沉默?其實我需要3秒後發短信。我曾使用「System.Threading.Thread.Sleep(3000);」。但是仍然發生文本重疊, 手段解說者&串一起演講。如何避免敘述者和字符串到語音在c#中重疊?
請幫忙。
謝謝你的時間。我使用key_Leave事件修復了它。 –
如果你願意,你可以自己發表一個答案(並接受它)來記錄你如何修復它(使用代碼示例等),這樣任何有此問題的人都將知道如何解決它。 –