• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python(PyS60)实现简单语音整点报时

python 搞代码 4年前 (2022-01-07) 38次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了Python(PyS60)实现简单语音整点报时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python语音整点报时的具体代码,供大家参考,具体内容如下

主要的技术特殊点在于PyS60的定时器最多只能定2147秒。在手机上直接写的。

 import e32 import audio import time import appuifw import sys import os.path import marshal def say(oclock): """say the time in English""" c = oclock if c > 12: c -= 12 cs = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve'][c] audio.say("it's " + cs + " o'clock.") def say_current(): global Sayflags t = time.localtime() # say according to configuration if Sayflags[int(t[3])] == 1: say(t[3]) def on_oclock(): """when an o'clock arrived""" say_current() start_timer() def start_timer(): """start a timer that will be reached at next o'clock""" global Timer lt = time.localtime() d = 60 * (59 - lt[4]) + 61 - lt[5] if d>2147: Timer.after(2147, <b style="color:transparent">来源gao@!dai!ma.com搞$$代^@码!网</b>lambda : Timer.after(d-2147, on_oclock)) else: Timer.after(d, on_oclock) def clock_names(): return [u'0:00', u'1:00', u'2:00', u'3:00', u'4:00', u'5:00', u'6:00', u'7:00', u'8:00', u'9:00', u'10:00', u'11:00', u'12:00', u'13:00', u'14:00', u'15:00', u'16:00', u'17:00', u'18:00', u'19:00', u'20:00', u'21:00', u'22:00', u'23:00'] def list_handler(): """set flag and refresh the listbox""" global Lb global Sayflags c = Lb.current() Sayflags[c] = 1 - Sayflags[c] Lb.set_list(list_content(), c) def list_content(): global Sayflags icons = [appuifw.Icon(u"z:\\resource\\apps\\avkon2.mif", 16506, 16507), appuifw.Icon(u"z:\\resource\\apps\\avkon2.mif", 16504, 16505)] # unchecked, unchecked return map(lambda s, f: tuple([s, icons[f]]), clock_names(), Sayflags) def exit_handler(): global Lock global Timer global Standalone Timer.cancel() save_cfg() if not Standalone: Lock.signal() else: appuifw.app.set_exit() def save_cfg(): global Sayflags try: f = open(Configfile, 'wb') marshal.dump(Sayflags, f) f.close() except: pass def load_cfg(): global Sayflags try: f = open(Configfile, 'rb') Sayflags = marshal.load(f) f.close() except: pass # Testing code def test(): say_current() #on_oclock() #for n in range(1,13): #  say(n) #test() def main(): global Standalone appuifw.app.title = u'Audio Clock' appuifw.app.exit_key_handler = exit_handler appuifw.app.body = Lb if time.localtime()[4] == 0: say_current() start_timer() if not Standalone: Lock.wait() Standalone = True Timer = e32.Ao_timer() Lock = e32.Ao_lock() Configfile = os.path.abspath(os.path.dirname(sys.argv[0])) + '\\audioclock.cfg' Sayflags = [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1] #24 clocks' flags load_cfg() Lb = appuifw.Listbox(list_content(), list_handler) main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网

以上就是Python(PyS60)实现简单语音整点报时的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python(PyS60)实现简单语音整点报时
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址