想听听电脑是怎样发音的吗?
保存下面一句话为 Say.vbs
CreateObject("SAPI.SpVoice").Speak CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0)).ReadAll
拖一个含有英文的文本文件(*.txt)到这个vbs图标上,你的Windows XP就会自动帮你读这个文件。
要结束阅读,请 Ctrl+Alt+Del 打开任务管理器结束 wscript.exe 进程
要调节语音、音色、语速、中文阅读等,请到 控制面板 --> 语音 设置。(如果安装了 Office 则可能读中文哦)
兼容: Windows XP/2003/Vista ,以及安装了 Speech 组件的 Windows 98/2000 等。其中Vista的发音效果要比其他的好一个档次,很流畅,很自然。
代码拆解及分析:
set oSpeech = CreateObject("SAPI.SpVoice")
set oFSO = CreateObject("Scripting.FileSystemObject")
set oFile = oFSO.OpenTextFile(WScript.Arguments(0))
strContent = oFile.ReadAll
oSpeech.Speak strContent
set oSpeech = nothing
set oFSO = nothing
set oFile = nothing
常见问题及解答
FAQ Updated 2006-12-21
1. 为什么我的XP阅读英文的效果是一个字母一个字母的,我记得可以阅读单词的呀?
这是因为你错误的设置了默认发音角色为中文的缘故。在 控制面板 语音 里把 默认发音设置成英文的,例如Microsoft Sam即可
2. 为什么阅读语句之间没有停顿呢?
请在每一个英文标点符号后面打一个英文的半角空格,这是英文书写习惯
3. 我这里运行怎么会出错啊,提示:下标越界
请 拖 一个txt 的图标到 这个 vbs 的图标上,不要直接点这个vbs文件的图标
4. 除了txt还可以阅读网页之类的不
可以。要修改代码,或者参照
这个帖子 把网页下载/转换成txt格式的然后朗读
5. 可以读中文不?
可以。安装了 Office 的中文发音引擎就能读中文了。具体在控制面板里设置。其实SAPI4+阅读中文的效果不好。在Vista上的Speech Server效果很好。
6. 在哪里调节语速?
我的电脑 控制面板 语音
7. 可以发音读一个单词不?我不想读文件
可以的,在批处理中用这句话:
mshta vbscript:CreateObject("SAPI.SpVoice").Speak("hello, Batch fans!")(Window.close)
Last edited by electronixtar on 2006-12-22 at 09:12 AM ]