想找一个可以播放文字的闹钟找不到,自己写一个更简单。TTS实现由很多种办法,百度等都提供了API接口,但类似百度,需要先注册等一系列动作。
其实windows自带的win32com功能可以简单实现TTS功能。要用到win32com模块, 可以通过如下指令进行安装
python -m pip install pypiwin32
安装以后就可以编写播放代码了如下
#coding:utf-8 import win32com.client spk = win32com.client.Dispatch("SAPI.SpVoice") spk.Speak(u"你好呀,this is test tts by win32com")
注意这个是windows接口只能适用于windows平台。
#coding:utf-8 import win32com.client import time spk = win32com.client.Dispatch("SAPI.SpVoice") while 1: t = time.localtime() # 当前时间的纪元值 fmt = "%H %M" now = time.strftime(fmt, t) # 将纪元值转化为包含时、分的字符串 now = now.split(' ') #以空格切割,将时、分放入名为now的列表中 hour = now[0] minute = now[1] print (hour,minute) if hour == "10" and minute == "27": spk.Speak(u"请注意,请注意,It's time for homework") time.sleep(5) time.sleep(5)
总结