|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请教大佬,这段代码打印时间部分执行到PLAYMP3部分就不继续执行了,我在PLAYMP3方法里面已经加了线程了啊
```
import time
import playsound
import _thread
import asyncio
import multiprocessing
class Clock(object):
ti = time.localtime() # 获得本机时间
"""数字时钟"""
def __init__(self):
"""初始化方法
:param hour: 时
:param minute: 分
:param second: 秒
"""
self._hour = Clock.ti.tm_hour # 当前小时
self._minute = Clock.ti.tm_min # 当前分钟
self._second = Clock.ti.tm_sec # 当前秒
def run(self):
"""走字"""
self._second += 1
if self._second == 60:
self._second = 0
self._minute += 1
if self._minute == 60:
self._minute = 0
self._hour += 1
if self._hour == 24:
self._hour = 0
def show(self):
"""显示时间"""
return '%02d:%02d:%02d' %(self._hour, self._minute, self._second)
# play mp3
def playMP3(self,playlen=30):
mp3 = 'F:\mp3\yesterday once more.mp3'
p = multiprocessing.Process(target=playsound.playsound, args=(mp3,))
# 开始播放
p.start()
stopTime= playlen # 播放音乐时间长度/秒
# 开始计时
while stopTime:
time.sleep(1)
stopTime -= 1
# 时间到就停止
p.terminate()
def monitorTime(self, h, m, playlen=30):
self.setClockHour = h
self.setClockMin = m
self.setClocksecond = 0
mp3 = 'F:\mp3\yesterday once more.mp3'
if self._hour == self.setClockHour and self._minute == self.setClockMin:
self.playMP3()
def main():
clock = Clock() # 实例化 Clock 类
while True:
print(clock.show())
time.sleep(1)
clock.monitorTime(20,26)
clock.run()
if __name__ == '__main__':
# asyncio.run(main())
main()
```
|
|