我尝试拥有一个活跃的时钟并同时播放音乐。我不知道音乐会发生什么。它开始回响。或者这首歌可能会多次开始。我认为它与Gui或Clock的清新有关。如果有人知道什么是错的,你真的可以让我的一天。
from tkinter import *
import vlc
import datetime
def Clockupdate(time):
timerefresher.config(text=time)
Timer = "20:30:00"
if time == Timer:
playsound()
def secondrefresher():
newtime = ""
oldtime = datetime.datetime.now()
a = str(oldtime.hour)
b = str(oldtime.minute)
c = str(oldtime.second)
if int(c) < 10:
c = "0"+str(c)
if int(b) < 10:
b = "0"+str(b)
curtime = (a+":"+b+':'+c)
if curtime != newtime:
newtime = curtime
Clockupdate(newtime)
timerefresher.after(200, secondrefresher)
def playsound():
p = vlc.MediaPlayer("file:///Space.mp3")
root.after(200, p.play)
root = Tk()
timerefresher = Label(root, text = "", bg='black', fg='white', font=('times', 100, 'bold'))
secondrefresher()
timerefresher.pack()
root.mainloop()
如果您希望代码运行,则需要在与此脚本相同的目录中放置一个名为space的mp3。您还需要将Timer变量调整到您想要开始播放音乐的时间。
答案 0 :(得分:1)
我通过更改您的通话来播放歌曲到打印声明进行了一些测试。看起来你的p.play被调用了5次。很可能是因为你设定的蜱虫。
我会改变:
timerefresher.after(200, secondrefresher)
要:
timerefresher.after(900, secondrefresher)
# anything between 801 and 999 should work fine without messing with the clock here.
这可以防止多次调用p.play