在程序中加入英文朗读功能

作者:凯旋网络来源:凯旋网络

 

符号

意义

语气

 

vtxtst_STATEMENT

$00000001

平常说话的语气(缺省)

vtxtst_QUESTION

$00000002

提问的语气

vtxtst_COMMAND

$00000004

命令的语气

vtxtst_WARNING

$00000008

警告的语气

vtxtst_READING

$00000010

阅读文档时的语气

vtxtst_NUMBERS

$00000020

适合阅读数字的语气

vtxtst_SPREADSHEET

$00000040

适合阅读电子表格中元素的语气

优先级

vtxtsp_VERYHING

$00000080

立即读出,可打断正在读的内容

vtxtsp_HIGH

$00000100

尽快读出,加入播放队列开始

vtxtsp_NORMAL

$00000200

仅仅加入播放队列末尾(缺省)

 

2.暂停为与恢复

...

procedure TfrmMain. BtnPauseClick (Sender: Tobject);

begin

with FISpeech do

if IsSpeaking then

begin

AudioPause;

BtnPause. Caption : = ‘恢复(&R)’;

End

Else

Begin

AudioResume;

BtnPause. Caption : = ‘暂停(&R)’;

End;

End;

...

这里通过IsSpeaking属性可以取得当前状态,然后通过audioPause和AudioResume暂停和恢复朗读。

另外用成员函数AudioFastForward和AudioRewind可以向前和后跳过一句朗读,通过读写speed属性还可以取得或调协朗读的语速,单位是字/分,缺省值为170。

注意speed和Enabled属性缺省设置是只写的,但实际上IVTxtAuto提供了Get_Speed和Get_Enabled函数,所以我们只要把VtxtAuto_TLB单元中的声明修改一下,如:

...

IVTxtAuto = interface (Idispatch)

...

property Speed: Integer read Get_Speed write Set_Speed;

propert Enabled: Integer read Get_Speed write Set_Speed;

...

end;

...

即可正常使用Speed和enabled属性了。

至此,一个简单的英文全文朗读器就完成了,有兴趣的朋友可以为其加入监视剪贴板,热键激活等功能。

本文程序在win NT/98 + Delphi 4/5环境下调试通过。

上一篇:没有了
下一篇:在Delphi中如何控制其它应用程序窗口
  • 广告推荐