【发布时间】:2015-05-07 16:38:07
【问题描述】:
我的程序中有以下代码:
self["text"]="✖"
self["bg"]="red"
self["relief"] = SUNKEN
self.banged = True
self.lost = True
self.lettersLeft = 0
self.lettersBanged = self.lettB
winsound.PlaySound('sound.wav', winsound.SND_FILENAME)
messagebox.showerror("Letter Banging","Sorry, you lost the game!", parent=self)
for key in self.squares.keys():
if self.squares[key].value == 3:
self.squares[key].banged = False
self.squares[key].expose()
我刚刚添加了winsound.PlaySound('sound.wav', winsound.SND_FILENAME) 部分,它减慢了我的程序。事实上,它首先播放声音,然后执行之前的操作。我正在将 Python 与 tKinter 一起使用。有什么建议吗?
【问题讨论】:
-
您尝试过使用多进程吗?
-
我很抱歉措辞错误。我的意思是多线程。你可以试试这个tutorialspoint.com/python/python_multithreading.htm希望这会有所帮助。在您的情况下,请尝试使用另一个线程来播放声音。
-
这个定义很容易在互联网上找到,也可以在上面给出的链接中找到。但想法是你将
winsound.PlaySound('sound.wav', winsound.SND_FILENAME)分离成一个不同的函数,让我们调用playsound()。要创建线程并运行它,您可以使用thread.start_new_thread( playsound, () )调用playsound 函数。记得导入thread库