python如何让音乐播放只播放一秒
展开全部
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 = 1 # 播放时长1秒
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].encode("utf-8")) #加载,支持中文文件名
mixer.music.play() #播放
#当超过播放时长后,停止播放
while (datetime.datetime.now() - start).seconds <= play_long:
time.sleep(0.5) #0.5秒监听一次事件
event = pygame.event.poll()
if event.type == STOPEVENT:
cur += 1
if cur != len(paths):
mixer.music.load(paths[cur].encode("utf-8")) #支持中文文件名
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()
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询