import datetime
import os
import time
import pygame
from pygame import mixer
from pygame.locals import USEREVENT
STOPEVENT = USEREVENT + 1 #音乐停止事件
h = 9 # 时间
m = 26 # 分钟
play_long = 60 * 10 # 播放时长
def play(start):
paths = os.listdir(‘.‘) #当前目录下所欲文件
def ismp3(path):
return path.endswith(".mp3")
paths = list(filter(ismp3, paths)) #保留mp3文件
if len(paths) > 0:
cur = 0
mixer.init()
pygame.init()
mixer.music.set_endevent(STOPEVENT) #设置音乐停止事件
mixer.music.load(paths[cur]) #加载
mixer.music.play() $播放
#当超过播放时长后,停止播放
while (datetime.datetime.now() - start).seconds < play_long:
time.sleep(1) #1秒监听一次事件
event = pygame.event.poll()
if event.type == STOPEVENT:
cur += 1
if cur != len(paths):
mixer.music.load(paths[cur])
mixer.music.play()
else:
break;
pygame.quit()
def detect():
while True:
now = datetime.datetime.now()
if now.hour == h and now.minute == m:
play(now)
else:
time.sleep(1)
if __name__ == ‘__main__‘:
detect()