与vlc pip有一个巨大的回声

时间:2017-06-01 18:36:19

标签: python tkinter vlc

我尝试拥有一个活跃的时钟并同时播放音乐。我不知道音乐会发生什么。它开始回响。或者这首歌可能会多次开始。我认为它与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变量调整到您想要开始播放音乐的时间。

1 个答案:

答案 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