自 Windows XP 以来,所有版本的 Windows 操作系统都安装了“讲述人”。
它可以被编程为在应用程序中说话。
有一个简单的 VBscript 方法可以让它在程序控制下说出一些事情,比如如果它收到一个文件,指示其中一个数据记录器的电压太低,Python 就会大声说出来,如下所示:
import os
etc
os.exec("c:/users/Admin/python/lowvolt.vbs")
看起来lowvolt.vbs
像这样:
Dim sez, speech
sez = "Low Voltage on 24"
Set speech = CreateObject("sapi.spvoice")
speech.Speak sez
Wscript.Quit
效果非常好。
(您可以看到输入绘制这里)
让它在每个整点时报出时间会很有帮助。
问题就在标题中——如何做到这一点?
答案1
创建一个名为saytime.vbs
Dim speech, hr, sez
hr=hour(time)
if hr=0 then
hr = 12
end if
if hr>12 then
hr = hr - 12
end if
sez = hr & " O'clock"
Set speech = CreateObject("sapi.spvoice")
speech.Speak sez
Wscript.Quit
然后设置计划任务来运行它。
打开任务计划程序 - 单击“开始”,输入“scheduler”,然后按 Enter
在右侧窗格中,单击“创建任务...”
给它起一个名字 - 也许是“说时间” - 下面你会看到安全选项默认仅在当前用户登录时运行。
选择(单击)“触发器”选项卡,然后单击“新建...”按钮 - 它将被设置为一次。
修改开始时间,使时间看起来像:12:00:00,以使其在每个小时的开始时触发。
选中“每隔 1 小时重复任务”复选框 - 将其设置为 1 小时,持续时间为无限期。
勾选“如果任务运行时间超过则停止”并将其设置为 30 分钟
单击“确定”
单击“操作”选项卡,然后单击“新建...”按钮 - 它将打开,并将操作设置为启动程序。
浏览到您的
saytime.vbs
文件单击“确定”,然后单击“确定”
现在,在左侧单击“任务计划程序库”
找到您的新条目,右键单击它,然后单击运行
当你听到语音说出时间时,你就知道任务正在进行。
你还可以查看触发条件。
至此,您的设置已完成。
瞧瞧——你的电脑就会说出小时数了。
请注意,讲述人会设置您将听到的实际声音。它有几个内置的男声和女声选项。
设置“讲述人”语音选项(微软)
有多种方法可以下载更多适用于讲述人的声音:
获得更多 Microsoft 文本转语音声音(Superuser.com)
您可以使用的最佳免费 Windows 讲述人声音(Zero2000.com)
我已经将我的 Windows 和 Ubuntu 机器都设置为主时钟,并教会它们说话。听到它们同时报时非常令人欣慰:
此外,对于 VBscript 的粉丝来说,这是一个可以在程序控制下播放 MP3 文件的 VBS 脚本的链接:
答案2
很棒的脚本,谢谢!我稍微修改了一下脚本,加入了上午/下午和分钟公告,这样你就可以随时运行它了:
Dim speech, hr, sez, mt, pm
hr=hour(time)
mt=minute(time)
pm="pea em"
if hr=0 then
hr = 12
elseif hr>12 then
hr = hr - 12
elseif hr < 12 then
pm="ay em"
end if
if mt=0 then
sez = "It's " & hr & " " & pm
elseif mt < 10 then
sez = "It's " & hr & " oh " & mt & " " & pm
else
sez = "It's " & hr & " " & mt & " " & pm
end if
Set speech = CreateObject("sapi.spvoice")
speech.Speak sez
Wscript.Quit