Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:DotNetSpeech判断朗读结束的代码?

1楼
baoxyang 发表于:2011/6/17 9:28:00
 

Dim sp As New DotNetSpeech.SpVoice()
sp.Voice = sp.GetVoices(
String.Empty,String.Empty).Item(0)
sp.Speak(
"I am from china.", DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)

 

请教,如何用代码来判断朗读结束呢?谢谢!!

2楼
狐狸爸爸 发表于:2011/6/17 9:54:00

Dim sp As New DotNetSpeech.SpVoice()
sp.Voice = sp.GetVoices(
String.Empty,String.Empty).Item(0)
sp.Speak(
"I am from china.", DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)

messagebox.show("我读完了")

3楼
baoxyang 发表于:2011/6/17 9:57:00
以下是引用狐狸爸爸在2011-6-17 9:54:00的发言:

Dim sp As New DotNetSpeech.SpVoice()
sp.Voice = sp.GetVoices(
String.Empty,String.Empty).Item(0)
sp.Speak(
"I am from china.", DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)

messagebox.show("我读完了")

这样是达不到我要效果的。

需要代码来判断是否读完?

4楼
狐狸爸爸 发表于:2011/6/17 10:04:00

不读完就不能执行任何操作的。

所以只能在这里判断

5楼
baoxyang 发表于:2011/6/17 10:08:00

 

哦,我这边朗读是采用异步的,不是同步的。

刚写的代码是随便复制的一段。(误解了)

我目的急需要朗读结束判断的代码来实现。

请问下SPEI_END_INPUT_STREAM表示朗读结束怎样使用?

6楼
狐狸爸爸 发表于:2011/6/17 10:28:00

嘿嘿,我不会,你自行研究,有结果告诉我。

7楼
baoxyang 发表于:2011/6/19 10:37:00

lxl兄,可否帮忙。

实现语音设置感兴趣的事件:SetInterest

1、 设定SAPI返回的消息 :setnotifywindowmessage
2,消息来时,确定事件类型:GetEvents
       清除事件结构:SpClearEvent
3,相应事件时,用GetStatus确定当前SAPI的状态
主要想实现二个目的:
1、取得语音在读的语句并光标随着变动。
2、获取语音在读的状态:开始读,结束读或其它信息。
参考网址:http://mailao.ycool.com/post.1836137.html(因为是C#不太懂)
8楼
lxl 发表于:2011/6/19 18:56:00

那个代码是 C/C++的

 

DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync 标志 只是简单的异步。

也就是另启一个线程朗读。这样在朗读时间比较长的情况下,不会使界面进入无响应的状态。

但是这种异步方式的缺点是无法指定“回调函数”  回调函数就是线程执行完成后,执行的函数。

 

所以只能自己实现异步编程了。

至于“取得语音在读的语句并光标随着变动。”需要根据语速计算每秒读的字符数了。

下面这个文件只是简单的开启线程来实现的,真正开发是封装成异步编程模式来实现的。

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.table

9楼
lxl 发表于:2011/6/19 18:59:00
函数在全局代码里面
10楼
baoxyang 发表于:2011/6/20 9:17:00

哦,多谢了!但还是搞不定!

共10 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 3 queries.