У меня есть кнопка в моей форме, которая помечена как «Говорить», когда пользователь нажимает на нее synth.SpeakAsync(Textbox.text)
уволен, а кнопка меняет свой текст на «Остановить разговор».SpeechSynthesizer.SpeakAsyncCancelAll() не отменяет
Однако, когда пользователь нажимает кнопку остановки, тем самым загоняя synth.speakAsyncCancelAll()
, он не отменяет текст речи в середине.
Вот мой код:
Private Sub btnSpeak_Click(sender As System.Object, e As System.EventArgs) Handles btnSpeak.Click
If RTextBox.Text = "" Then Exit Sub
Dim synth As New SpeechSynthesizer
synth.Rate = -2
If btnSpeak.Text = "Stop Speaking" Then
btnSpeak.Text = "Speak"
synth.SpeakAsyncCancelAll()
ElseIf btnSpeak.Text = "Speak" Then
btnSpeak.Text = "Stop Speaking"
synth.SpeakAsync(RTextBox.Text)
End If
Вы проверили, что событие SpeakCompleted уволено после отмены? http://msdn.microsoft.com/en-us/library/system.speech.synthesis.speechsynthesizer.speakasynccancelall(v=vs.110).aspx – Aybe
не уверен, как это сделать – Dman
См. мой ответ. – Aybe