符号 | 值 | 意义 | |
语气
| 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环境下调试通过。
