主要的技术特殊点在于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, 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()
相关推荐
给你的软件加入报时功能,只要一行代码就行了
给您的软件加入报时功能 只要一行代码 tim.exe /nowtim
python电话语音通知_Python(PyS60)实现简单语音整点报时
本文实例为大家分享了python语音整点报时的具体代码,供大家参考,具体内容如下主要的技术特殊点在于PyS60的定时器最多只能定2147秒。在手机上直接写的。import e32import audioimport timeimport appuifwimport sysimport os.pathimport marshaldef say(oclock):"""say the time in E...
无监督学习初探:K-Means聚类与主成分分析(PCA)
K-Means适用于快速分组,但对数据分布敏感,可结合轮廓系数评估质量。PCA通过特征值分解实现线性降维,需注意非线性场景的替代方案(如UMAP)。进阶方向:聚类:谱聚类、高斯混合模型(GMM)处理复杂形状。降维:t-SNE、自编码器处理非线性结构。
蓝桥杯 基础练习 报时助手(Python)
Sine之舞
海康威视4G摄像头直连实战:不用萤石云,手把手教你用ISUP SDK搞定跨网段视频流
本文详细介绍了如何通过海康威视ISUP SDK实现4G摄像头的直连通信,提供了一套零平台费、自主可控的技术方案。文章涵盖技术选型、设备端配置、服务器端开发及高级应用场景,特别适合中小型安防项目,帮助开发者解决跨网段视频流传输难题,降低长期运营成本。
别再瞎调了!手把手教你用ADI IIO Oscilloscope配置AD936x的AGC(附Pluto SDR实测)
本文详细介绍了如何使用ADI IIO Oscilloscope工具配置AD936x系列射频捷变收发器的自动增益控制(AGC)功能,包括Slow/Fast Attack模式的参数设置与优化技巧。通过Pluto SDR硬件实测演示,帮助开发者快速掌握AGC配置方法,提升无线通信系统的接收性能。
python报时功能_Python(PyS60)做的简单语音整点报时的实现
主要的技术特殊点在于PyS60的定时器最多只能定2147秒。在手机上直接写的。import e32import audioimport timeimport appuifwimport sysimport os.pathimport marshaldef say(oclock):"""say the time in English"""c = oclockif c > 12:c -= 12c...
一次HTTP完整得请求过程
一次HTTP完整的请求过程 一,大致流程: 根据域名和DNS解析到服务器的IP地址(DNS+CDN) 通过ARP协议获得IP地址对应的物理机器得MAC地址 浏览器对服务器发起三次握手 建立TCP连接后发起HTTP请求报文 服务器响应HTTP请求,将响应报文返回浏览器 短连接情况下,请求结束通过TCP四次挥手关闭连接,长连接在没有访问服务器得若干时间后,进行连接关闭 浏览器得到响应信...
python报时功能_Python(PyS60)做的简单语音整点报时的实现 | 学步园
主要的技术特殊点在于PyS60的定时器最多只能定2147秒。在手机上直接写的。import e32import audioimport timeimport appuifwimport sysimport os.pathimport marshaldef say(oclock):"""say the time in English"""c = oclockif c > 12:c -= 12c...
Cocos Creator 3D音频定位实战:从原理到沉浸感实现
3D音频定位是游戏开发中实现沉浸感的关键技术,其核心原理基于HRTF(头部相关传输函数)模型,模拟声音在空间中的传播与双耳感知差异。这项技术通过赋予声音空间坐标、距离衰减和方向属性,将音频从背景元素提升为可交互的环境线索,极大增强了虚拟世界的真实感与玩家的空间认知。在工程实践中,开发者需要深入理解声源、听者、衰减曲线与多普勒效应等基础概念,并合理运用音频池、优先级管理与动态混音等技术手段来平衡效果与性能。对于Cocos Creator开发者而言,无论是使用引擎原生的AudioSource组件构建轻量级方案,
Ubuntu 22.04 实战:为WIFI6网卡Realtek RTL8852BE手动编译驱动指南
本文详细介绍了在Ubuntu 22.04系统上为Realtek RTL8852BE WIFI6网卡手动编译驱动的完整指南。从问题诊断、环境准备到源码获取、编译安装,逐步解决驱动缺失问题,并提供常见问题排查和性能优化建议,帮助用户充分发挥WIFI6网卡性能。
python报时功能_Python(PyS60)实现简单语音整点报时
本文实例为大家分享了python语音整点报时的具体代码,供大家参考,具体内容如下主要的技术特殊点在于PyS60的定时器最多只能定2147秒。在手机上直接写的。import e32import audioimport timeimport appuifwimport sysimport os.pathimport marshaldef say(oclock):"""say the time in E...
Unreal从入门到精通之 UE4 vs UE5 VR性能优化实战
这篇文章分享了UE5 VR项目的性能优化经验。作者通过对比UE4和UE5的VR模板性能,发现UE5默认帧率只有45FPS,远低于UE4的100FPS。主要性能瓶颈来自Lumen全局光照、虚拟阴影贴图等新特性。文章详细列出了12项关键优化设置,包括禁用Lumen、关闭虚拟阴影、使用前向渲染等,并分析了各项调整对性能的影响程度。特别指出删除默认的VolumetricCloud可立即提升5帧。最后建议根据场景需求平衡画质与性能,对于高帧率要求的VR项目,可能需要谨慎使用UE5或关闭其部分高级渲染功能。
python 点对点语音,Python(PyS60)实现简单语音整点报时
本文实例为大家分享了python语音整点报时的具体代码,供大家参考,具体内容如下主要的技术特殊点在于PyS60的定时器最多只能定2147秒。在手机上直接写的。import e32import audioimport timeimport appuifwimport sysimport os.pathimport marshaldef say(oclock):"""say the time in E...
微信公众平台 - 微信内置浏览器 WeixinJSBridge.invoke(‘xxx‘) API 报错:system:access_denied(常见于微信支付、分享朋友圈/转发好友等功能)解决方案
微信支付提示System:access_denied,调用微信支付返回:system:access_denied为什么,安卓版微信支付偶尔出现system:access_denied,微信公众号开发分享出现system:access_denied,system:access_denied如何解决?微信WeixinJSBridge.invoke(‘xxx‘)API调用后出现报错,微信内部H5WeixinJSBridge.invokesystem:access_denied,使用微信jssdk时报ac
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
python分析课堂对话相关的代码提示词和源码
由于期刊中附带了这个博客链接,二次补充相关过程的代码供大家参考【腾讯文档】毕业论文活动分析部分代码的提示词和源码参考。
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
基础练习25- 报时助手(python答案)
基础练习 报时助手 问题描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“three o’clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。 时和分的读法使用的是英文数字的读法,其中0~20读作...
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
python报时功能_wxPython实现整点报时
# C盘要有个wav文件,内含报时音频import wximport time# 获取时间import wave# 波形处理import pyaudio# 播放器class MyFrame(wx.Frame):def __init__(self,parent,id):wx.Frame.__init__(self,parent,id,title="整点报时",size=(410,150),style...
python小程序—即时动态时钟
1.完整代码: # coding=UTF-8 from turtle import * from datetime import * def Skip(step): #建立表的外框 penup() forward(step) pendown() def mkHand(name,length): #注册turtle形状,建立表针tur...
Python实现系统桌面时钟
Python实现系统桌面时钟
list
的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。,因此反向迭代器的实现可以借助正向迭代器,即:反向迭代器内部可以包含一个正向迭代器,对正向迭代器的接口进行包装即可。是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。迭代到该位置,在这段位置上迭代需要线性的时间开销;最大的缺陷是不支持任意位置的随机访问,比如:要访问。还需要一些额外的空间,以保存每个节点的相关联信息。个元素,必须从已知的位置。
481



被折叠的 条评论
为什么被折叠?



