Foxtable(狐表)用户栏目专家坐堂 → 在循环中,如何暂停、继续和停止?


  共有2056人关注过本帖树形打印复制链接

主题:在循环中,如何暂停、继续和停止?

帅哥哟,离线,有人找我吗?
包头123
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1064 积分:8272 威望:0 精华:0 注册:2011/10/11 11:13:00
在循环中,如何暂停、继续和停止?  发帖心情 Post By:2017/3/24 16:15:00 [只看该作者]

版主:
     我有一个表,从第一条记录到最后一条记录,尾朗读其中的备注字段,但希望在朗读过程中,随时能暂停、继续、停止或者退出。
     请问怎么做?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/24 16:20:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
包头123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1064 积分:8272 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2017/3/24 16:32:00 [只看该作者]

为什么在选择同步朗读时,无法停止呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/24 16:57:00 [只看该作者]

 同步朗读的时候,是无法停止的。要用异步朗读。

 回到顶部
帅哥哟,离线,有人找我吗?
包头123
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1064 积分:8272 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2017/3/24 17:19:00 [只看该作者]

同步朗读第一条到最后一条记录都能正常朗读,但异步朗读,只朗读最后一条记录的内容。
这个是为什么?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/24 17:40:00 [只看该作者]

在全局代码定义sp变量

 

Public sp As New DotNetSpeech.SpVoice()

 

然后,直接使用sp,而不需要定义 Dim sp


 回到顶部
帅哥哟,离线,有人找我吗?
包头123
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1064 积分:8272 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/27 12:16:00 [只看该作者]


 回到顶部