Foxtable(狐表)用户栏目专家坐堂 → 朗读问题- 异步朗读


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

主题:朗读问题- 异步朗读

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


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
朗读问题- 异步朗读  发帖心情 Post By:2015/1/13 11:18:00 [只看该作者]

请教

 

我在设置异步朗读的时候经常会出现朗读不完整的情况。

 

特别是  同一时间 有2个 语句需要进行 朗读 ,  经常就只读 1到2个字符  就没了 。

 

同步朗读 就没有问题。    

 

该怎么调整?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/13 11:19:00 [只看该作者]

就算是异步,也不应该同时朗读2个语句,就算不出错,你能听清吗?

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


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2015/1/13 12:08:00 [只看该作者]

我 用  for  next  语句  进行 朗读。

 

应该  进行几次 next   的循环     也算是不在同一时间  (可能要用毫秒来区分!)

 

 

但 异步朗读  就 不会朗读完整。

 

 

同步 就可以 。。。

 

代码如下

Dim sp As New DotNetSpeech.SpVoice()
If Forms("出货管理板").Opened  Then
    Dim dt As DataTable = DataTables("出货基础信息表")
    For Each  dr As DataRow In dt.DataRows
        If dr("单") = True Then
            For i As Integer = 2 To 4
                If dr(dt.DataCols(i).Name) = Format(Date.Now,"HH:mm") Then
                    Dim str As String = (dr(dt.DataCols("客户")) & "," & dr(dt.DataCols(1).Name) & "," & dt.DataCols(i).Name.Replace("计划开始","")  & ",时间," &  Format(dr(dt.DataCols(i).Name),"HH:mm") & "到了,请作业!")
                    sp.Speak(str ,DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync) ' DotNetSpeech.SpeechVoiceSpeakFlags.SVSFDefault)
                End If
            Next
        End If
    Next
End If

 

颜色部分  异步朗读 老是读不出来。

[此贴子已经被作者于2015-1-13 12:14:39编辑过]

 回到顶部
美女呀,离线,留言给我吧!
qianqian1530
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:746 积分:5567 威望:0 精华:0 注册:2013/12/4 8:56:00
  发帖心情 Post By:2015/1/13 13:22:00 [只看该作者]

上传列子看看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/13 13:48:00 [只看该作者]

测试没问题,上个例子看看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/13 14:02:00 [只看该作者]

 这句放在循环里面看看

 

Dim sp As New DotNetSpeech.SpVoice()


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


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2015/1/14 10:02:00 [只看该作者]

代码 在 计划任务 里面 。

 

1、朗读的功能 会因为  其他操作  打断,

 

2、朗读的语句多的时候 会自动 打断。 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹 (2) - 副本.zip


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


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2015/1/14 10:22:00 [只看该作者]

顶起 , 老师帮忙测试一下


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/14 10:29:00 [只看该作者]

亲,怎么操作怎么重现问题?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/14 10:36:00 [只看该作者]

 把这句代码写到全局代码那里去。

 

Public sp As New DotNetSpeech.SpVoice()

 

 其余的调用不要定义了,直接写 sp.Speak(str ,DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)


 回到顶部
总数 15 1 2 下一页