COMMAND1:名称=read;Caption=“朗读”
COMMAND2:名称=pause;Caption=“暂停”
COMMAND3:名称=stop;Caption=“停止”
COMMAND4:名称=prev;Caption=“上一句”
COMMAND5:名称=next;Caption=“下一句”
COMMAND6:名称=quit;Caption=“退出”
四、编写代码
下面我们就可以一步步地编写代码,具体代码如下:
'在窗体装载时调用Register方法注册,括号内的两个参数是字符串
PrivateSubForm_Load()
CallVTxtAuto.VTxtAuto.Register(Space(8),Space(8))
'因为语速的默认值为170,故水平滚动条的初值也设为170
SpeedChange.Value=https://www.04ip.com/post/170
EndSub
'设置朗读速度调节代码,当水平滚动条的值Value发生变化时将其赋给控制语速的Speed属性
PrivateSubSpeedChange_Change()
VTxtAuto.VTxtAuto.Speed=SpeedChange.Value
Label3.Caption=SpeedChange.Value
EndSub
'设置“朗读”按钮代码
PrivateSubread_Click()
'如果朗读出错,则转到出错处理标记模块ErrorHandler
OnErrorGoToErrorHandler
'调用方法Speak进行朗读,第一个参数是要朗读的文本,第二个参数是设置朗读风格
CallVTxtAuto.VTxtAuto.speak(Trim(Text1.Text),vtxtsp_VERYHIGH+vtxtst_READING)
ExitSub
ErrorHandler:
MsgBox"只能朗读英文文档,不能朗读汉字字符!",,"出错信息"
EndSub
'设置“暂停”按钮代码
PrivateSubpause_Click()
IfVTxtAuto.VTxtAuto.IsSpeakingThen
'如果属性IsSpeaking为真,则表示正在朗读,调用AudioPause方法暂停朗读
CallVTxtAuto.VTxtAuto.AudioPause
pause.Caption="恢复"
Else
'如果已经处于暂停状态则调用AudioResume方法恢复朗读
CallVTxtAuto.VTxtAuto.AudioResume
pause.Caption="暂停"
EndIf
EndSub
'设置“停止”按钮代码,调用StopSpeaking方法停止当前朗读
PrivateSubstop_Click()
CallVTxtAuto.VTxtAuto.StopSpeaking
EndSub
'设置“上一句”按钮代码,调用AudioRewind方法往后跳过一句
PrivateSubprev_Click()
CallVTxtAuto.VTxtAuto.AudioRewind
EndSub
'设置“下一句”按钮代码 , 调用AudioFastForward方法向前跳过一句
PrivateSubnext_Click()
CallVTxtAuto.VTxtAuto.AudioFastForward
EndSub
'设置“退出”按钮代码
PrivateSubquit_Click()
UnloadMe
EndSub
本程序在中文Windows95/98、VB5.0环境下运行通过 。运行时在文本编辑框中输入或粘贴英文文档,然后单击“朗读”按钮就可播放读音,运行界面如图2 。
五、程序改进思路
本文对在VB编程中使用TTS技术只是起个抛砖引玉的作用 , 熟悉VB编程的电脑爱好者来可以对本程序作一些改进,例如增加对声卡和TTS引擎是否安装的检测、增加从文本文件或数据库中读取文档的功能、增加让用户选择朗读的优先级和发声音量调节等功能 。这些功能实现起来较为复杂 , 感兴趣的读者可进行深入研究 。
vb.net 中能否自定义弹出的messagebox声音?我知道一种方法,就是MessageBoxIcon这个枚举中有好几个图标类型可以?。饫锞涂梢缘髡煌急暧胁煌纳簦?如果你要让错误信息非要弹出个信息提示音,估计不大容易实现 , 注意我说是不太容易实现,不是不可能!
例子:MessageBox.Show("谢谢采纳","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) //者是一个信息提示音,图标是一个大写I,你应该懂的!
想在vb.net的程序中有一个语音提示 , 该怎么写首先添加一个系统的语音COM组件的引用microsoft speech object library然后在程序中声明一个语音类dim RC As SpeechLib.SpSharedRecoContext这个类有一些事件,如果你要处理它的一些事件,可以用withevent来声明然后在窗体LOAD事件或你需要的地方先创建一个实例RC = New SpeechLib.SpSharedRecoContext当一个RC被实例化后,系统就会运行语音识别程序.前提是你的系统已经正确安装这个功能.一般默认就已经安装好的.其次提醒一下,WIN7的语音识别比XP的好N倍.从阅读到侦听都好很多.然后就可以在你需要阅读的地方使用RC.Voice.Speak("hello 我", 11)11那里是一些枚举,用来标识系统用前台还是后台或其他方式来阅读文字,简单的来说就是阅读的时候不会卡住你的程序.你可以选其他的枚举来试试作用.以上为阅读部分.如果需要程序听你说话,则需要声明一个侦听类dim RG As SpeechLib.ISpeechRecoGrammar在初始化时将之与上面的RC建立关系,此时则必须要用withevent来声明上面的RC,因为涉及电脑听到你的语音后,会触发一个事件,并将听到的内容传递到该事件.其次,要让系统听到的解析为命令,就必须准备一个XML结构的文件来保存那些固定的命令.如果电脑在XML文件中找不到那些固定命令或同时不属于系统命令,电脑将会将其解释为听写.RG = RC.CreateGrammar '(0)
推荐阅读
- sqlserver改变字段类型,sqlserver修改字段属性
- 有什么租电脑平台,什么租电脑平台好
- 拍摄什么题材最难,拍摄难度
- 华为手环4兼容鸿蒙系统吗,用华为手环4需要下载什么软件
- go语言如何建map go语言syncmap
- 怎么手机遥控自家网络,如何手机遥控家里wifi
- postgresql11分区,pgsql 分区
- 模拟美女养成手机游戏,模拟美女养成手机游戏
- c语言求分段函数y的值 c语言中计算分段函数