【发布时间】:2021-07-13 16:53:46
【问题描述】:
是的,我只是在制作一个播放我最喜欢的游戏音乐的程序。现在的问题是,当我调用playsound(module) 的playsound 函数时,我的程序滞后并最终崩溃。这是我的代码:
import tkinter as tk
from playsound import playsound
import multiprocessing
class dynastyMusicer(tk.Tk):
def __init__(self, screenName=None, baseName=None, className='Tk',
useTk=True, sync=False, use=None):
super().__init__(screenName=screenName, baseName=baseName, className=className, useTk=useTk, sync=sync, use=use)
self.title("Dynasty Musicer")
self.geometry("250x100")
self.config(background="white")
chooseL = tk.Label(self, text="Which music to play?", background="white")
chooseL.place(x=50, y=0)
ops = ["Dynasty Dojo", "Dynasty Dojo Fight"]
self.stvar = tk.StringVar(self)
self.stvar.set("Music")
self.option = tk.OptionMenu(self, self.stvar, *ops)
self.option.place(y=30)
btn = tk.Button(self, text="Play", width=10, command=self.play)
btn.place(y=70)
stop = tk.Button(self, text="Stop", width=10, command=self.stop)
stop.place(x=160,y=70)
def stop(self):
multiprocessing.Process(target=playsound, args=(self.stvar.get()+".mp3"))
def play(self):
if self.stvar.get() == "Dynasty Dojo":
playsound(r"path")
elif self.stvar.get() == "Dynasty Dojo Fight":
playsound(r"path")
dm = dynastyMusicer()
dm.mainloop()
也因此我无法测试我的stop 功能是否正常工作,因为当您单击播放按钮时,是的,您猜对了,它会崩溃。如果你想下载我使用的两个音乐文件,这里是链接:
【问题讨论】:
-
使用:
playsound(r"path",block=True)。关注:stackoverflow.com/a/56678592/13382000 -
不,点击播放后仍然滞后并一次又一次地崩溃。感谢您的回答
-
等一下,我的意思是,
block=False:/