在程序中加入英文朗读功能
日期:2007年5月18日 作者: 查看:[大字体 中字体 小字体]-
金山词霸2000的奂文全文朗读功能相信一定给尝试过的用户留下了很深刻的印象,而作为一个程序设计者,你一定也想在自己的程序中加入类似的功能吧,因为那将让自己的程序增色不少。
其实这并不是一件困难的事,因为金山词霸实际上也只是直接使用了MS的TTS(Text-to-Speech)技术而已,通过对MS Speech API 的编程,我们完全可以实现比其更强大的功能。下面,让我们在Delphi环境下实际尝试一下。
首先从金山词霸的光盘上\ ciba目录下运行并安装mstts. Exe(MS TTs engine)和spchapi. Exe (MS Speech API).
再在Delphi 里新建一个application。
然后从Delphi的菜单Project/Import Type Library. . .中选击Add. . .,浏览到Windows目录下的Speech子目录里,打开vtxtauto. Tlb,可以看到下面Class names中会出现我们需要的接口的包装类的名字TVTxtAuto,注意对话框底部的Generate Component Wrapper需要被选中,点击Create Unit 就可以打开一个名为VtxtAuTo_TLB的Unit。
至此,我们就可以开始实际编程了。
首先在Form的OnCreate中对需要使用接口初始化并进行注册:
...
Procedure TfrmMain. FormCreate (Sender. Tobject); begin
FISpeech: = CoVTxtAuto_Create;
FISpeech. Register (“Demo Site’, ‘Demo App’); end;
...
由于Delphi对接口进行了良好的包装,因此,只需直接建立包装类,其他后台的操作如接口的查询、释放等交给Delphi在后台自动完成。
注意这里的Register操作是必不可少的,因为可能有多个程序不同设置使用TIS引擎。
然后在MainForm上放一个Tmemo和若干个Tbutton,并在其OnClick中加入对应的代码。
Form定义如下:
Object frmMain: TfrmMain
Left = 296
Top = 187
BorderStyle = bsDialog
Caption = ‘英文全文朗读演示’
ClientHeight = 185
ClientWidth = 456
Color = clBTnFace
Font. Charset = GB2312_CHARSET
Font. Color = clWindowText
Font. Height = -12
Font. Name = ‘宋体’
Font. Style = [ ]
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
PixelsPerInch = 96
TexHeight = 12
Object memText: Tmemo
Left =8
Top = 8
Width = 361
Height = 169
ScrollBars = ssVertical
TabOrder = 0
End
Object btnRead: Tbutton
Left = 376
Top = 8
Width = 75
Height = 25
Caption = ‘朗读(&R)’
TabOrder = 1
OnClick = btnReadClick
End
Object btnPause: Tbutton
Left = 376
Top = 40
Width = 75
Height = 25
Caption = ‘暂停(&P)’
Enabled = False
TabOrder = 2
OnClick = btnPauseClick
End
Object btnStop: Tbutton
Left = 376
Top = 72
Width = 75
Height = 25
Caption = ‘停止(&S)’
Enabled = False
TabOrder = 3
OnClick = btnStopClick
End
Object btnForward: Tbrtton
Left = 376
Top = 120
Width = 75
Height = 25
Caption = ‘下一句(&N)’
Enabled = False
TabOrder =4
OnClick = btnForwardClick
End
Object btnRewind: Tbutton
Left = 376
Top = 152
Width = 75
Height = 25
Caption = ‘上一句(&W)’
Enabled = false
TabOrder = 5
OnClick = btnRewindClick
End
End
关键代码段如下:
1.朗读与停止
...
procedure TfrmMain. BtnReadClick (Sender: Tobject); begin
FISpeech. Speak (memText. Lines. Text, vtxtst_READING0;
BtnPause. Enabled : = True;
BtuStop. Enabled : = True;
End;
Procedure TfrmMain. BtnStopClicl (Sender: Tobject); begin
FISpeech. StopSpeaking;
BtnPause. Enabled : = False;
BtnStop. Enabled : = False;
BtnPause. Caption : = ‘暂停(&P)’;end;
...
speak成员函数的第一个参数向TTS引擎传递需要朗读的文字,第二个参数由指定朗读时使用的语气和优先级的两个符号合并而成。
符号
值
意义
语气
- [1] [2] [3] 下一页
-
- 在程序中加入英文朗读功能 相关文章:
- 在程序中加入英文朗读功能 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:装扮工具提示条
精品推荐
热点TOP10
- ·易学易用的数字五笔输入法
- ·Ebook WorkShop制造电子书全攻略
- ·超强快捷键复制与粘贴运用体验
- ·在程序中加入英文朗读功能
- ·灵活应用批量处理工具 提高工作效率
- ·濒危数据绝处逢生 BadCopy大显身手
- ·轻轻松松学做“CHM”格式的电子书
- ·快速大批量拷贝文件 我就要用RichCopy
- ·快速打造有声有色的电子书籍
- ·星际译王:来自Linux的免费词霸
- ·四种中文拼音输入法介绍
- ·节省办公时间有绝招—高效率的文件搜索技巧
- ·3721魔法石 为你的Windows清除垃圾
- ·隐藏文件四大妙招
- ·死马当做活马医—复制文件也“多进程”
- ·用Ghost快速的备份Windows操作系统
- ·适合学校老师 搜狗拼音输入法技巧两则
- ·华山论剑 主流拼音输入法将走向何方?
- ·琐碎打包工具 文件整理好帮手
- ·批量处理 事半功倍
