Как сделать так, чтобы звук появлялся ежечасно в python? - PullRequest
0 голосов
/ 03 августа 2020

поэтому я сделал часы, используя python3 и tkinter, и это не является особенным, поэтому я хотел добавить звук, когда каждый час проходил, я пробовал time.sleep и. После того, как оба не работали, вот мой код:

from tkinter import *
from playsound import playsound


root = Tk()
root.title("Timer")


def one_hour_l8r():
    playsound('one hour later.mp3') #this is a file i downloaded it is the time card from sponge bob
    pass


def clock():
    hour = strftime("%I")
    mins = strftime("%M")
    secs = strftime("%S")
    day = strftime("%A")
    am_pm = strftime("%p")
    time.config(text=day + "|" + hour + ":" + mins + ":" + secs + " " + am_pm)

    time.after(60000 * 60, one_hour_l8r)
    time.after(1000, clock)


time = Label(root, text="", font=("Helivatica", 48), bg="black", fg="#00b9bc")
time.pack()

clock()

root.mainloop()

1 Ответ

1 голос
/ 03 августа 2020

Установите задержку для первого вызова, затем просто вызовите тот же метод с задержкой.

from tkinter import *
from playsound import playsound
from datetime import datetime

root = Tk()
root.title("Timer")

def one_hour_l8r():
    playsound('one hour later.mp3') #this is a file i downloaded it is the time card from sponge bob
    time.after(60000 * 60, one_hour_l8r)  # wait one hour, then recall same function
    
def clock():
    d = datetime.now()
    hour = d.strftime("%I")
    mins = d.strftime("%M")
    secs = d.strftime("%S")
    day =  d.strftime("%A")
    am_pm = d.strftime("%p")
    time.config(text=day + "|" + hour + ":" + mins + ":" + secs + " " + am_pm)

    time.after(1000, clock)  # wait one second, update clock again
    
time = Label(root, text="", font=("Helivatica", 48), bg="black", fg="#00b9bc")
time.pack()

clock()  # start clock
time.after(60000 * 60, one_hour_l8r) # wait one hour then call sound function

root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...