以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 在循环中,如何暂停、继续和停止? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=98126) |
-- 作者:包头123 -- 发布时间:2017/3/24 16:15:00 -- 在循环中,如何暂停、继续和停止? 版主: 我有一个表,从第一条记录到最后一条记录,尾朗读其中的备注字段,但希望在朗读过程中,随时能暂停、继续、停止或者退出。 请问怎么做?
|
-- 作者:有点色 -- 发布时间:2017/3/24 16:20:00 -- 参考 http://www.foxtable.com/webhelp/scr/2240.htm
|
-- 作者:包头123 -- 发布时间:2017/3/24 16:32:00 -- 为什么在选择同步朗读时,无法停止呢? |
-- 作者:有点色 -- 发布时间:2017/3/24 16:57:00 -- 同步朗读的时候,是无法停止的。要用异步朗读。 |
-- 作者:包头123 -- 发布时间:2017/3/24 17:19:00 -- 同步朗读第一条到最后一条记录都能正常朗读,但异步朗读,只朗读最后一条记录的内容。 这个是为什么?
|
-- 作者:有点色 -- 发布时间:2017/3/24 17:40:00 -- 在全局代码定义sp变量
Public sp As New DotNetSpeech.SpVoice()
然后,直接使用sp,而不需要定义 Dim sp |
-- 作者:包头123 -- 发布时间:2017/3/27 11:52:00 -- 版主: 我就按照你的方式使用的就是不行,还是只朗读最后一条记录,前面的记录全部忽略了。 在全局代码中定义: Public Speaker As New DotNetSpeech.SpVoice() 设置为异步朗读模式 朗读语句如下: Dim i As Integer For i = 0 To Tables("窗口A_Table1").Rows.Count() - 1 Tables("窗口A_Table1").Position = i Application.DoEvents Dim yy As WinForm.ListBox = e.Form.Controls("ListBox1") Dim vl As String = e.Form.Controls("TextBox2").Value \'获得要朗读的文本 Speaker.Rate = e.Form.Controls("boxSpeed").Value \'设置语速 Speaker.Voice = Speaker.GetVoices(String.Empty,String.Empty).Item(yy.SelectedIndex) \'选择语音库 Speaker.Speak("", DotNetSpeech.SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak) \'停止之前的朗读 If e.Form.Controls("rdoAsync").Checked Then Speaker.Speak(vl, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync) \'异步朗读 Else Speaker.Speak(vl, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFDefault) \'同步朗读 End If Next |
-- 作者:有点色 -- 发布时间:2017/3/27 12:16:00 -- 来看看这个例子 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=40332&skin=0
|