如何停止Winsound彼此叠加的声音? (Python和tkinter)

时间:2019-05-16 01:55:00

标签: python button audio tkinter winsound

我正在尝试使用tkinter在python中创建一个简单的音板。我的目标是只有一个按钮,在本例中为“ bruh”,每次单击该按钮时,都会播放“ bruh.wav”声音。

到目前为止,它似乎仍然有效,但是,如果我反复按一下按钮,声音就会像排在队列中一样彼此叠加。如何做到这一点,以便每按一次按钮都将取消播放的声音,而只是播放wav文件的开头?

我已经读完winsound模块,“ PURGE”命令似乎很有趣,但是我不确定如何实现它,我只是一个初学者,对不起!

from tkinter import *

root = Tk()

def leftClick(event):
    import winsound
    winsound.PlaySound("realbruh.wav", winsound.SND_FILENAME)



frame = Frame(root, width=600, height=600)

bruhButton = Button(root, text="bruh")
bruhButton.bind("<Button-1>", leftClick)
bruhButton.pack()

root.mainloop()

ie:如果我要向按钮发送垃圾邮件,则“ bruh”声音会依次播放,直到达到我单击按钮的次数为止。我该怎么做,使它们彼此打扰,并且没有排队的事?

1 个答案:

答案 0 :(得分:0)

如果只需要声音,可以使用pygame模块,请尝试我的方法。

如果您没有pygame模块,请使用override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { val itemHolder = holder as ItemViewHolder val item = dataModel[position] itemHolder.mFieldView.text = item.field } install。我在tkinter项目中将pygame模块用于所有声音效果,并且效果很好。

这是我的做法:

pip install pygame