按下tkinter按钮时如何播放声音?

时间:2015-03-01 16:17:47

标签: windows python-3.x button audio tkinter

我正在构建一个包含大量按钮的Windows PC程序,看起来很简单。所以我想知道,当你按下一个按钮(使用tkinter)时,我可以这么做吗,我可以播放一些声音来使程序活跃起来吗?请记住我正在学习所以请把它愚蠢一点。

4 个答案:

答案 0 :(得分:5)

假设您的文件是WAV:

from tkinter import *
from winsound import *

root = Tk() # create tkinter window

play = lambda: PlaySound('Sound.wav', SND_FILENAME)
button = Button(root, text = 'Play', command = play)

button.pack()
root.mainloop()

假设您的文件是MP3:

from Tkinter import *
import mp3play

root = Tk() # create tkinter window

f = mp3play.load('Sound.mp3'); play = lambda: f.play()
button = Button(root, text = 'Play', command = play)

button.pack()
root.mainloop()

答案 1 :(得分:1)

首先需要将鼠标点击链接到图像上,使用偶数处理程序,然后只需定义一个on_click函数:

def on_click(event): 
    winsound.Beep('frequency', 'duration')

Here您可以在python中找到有关播放声音的更多信息。

答案 2 :(得分:1)

您还可以使用Pygame库。尽管它比仅用于播放音乐的某些库慢一些,但其主要优点是它是跨平台的,而许多其他Python播放库却没有。 这是在基于Tkinter的应用程序中使用它的示例:

from tkinter import *
import pygame


pygame.mixer.init()
def play_music():
    pygame.mixer.music.load("sample.mp3")
    pygame.mixer.music.play()

root = Tk()
Button(root, text="Play music", command=play_music).pack()
root.mainloop()

答案 3 :(得分:1)

随便用

# Creating a function that takes one parameter
def get_minumum_value_in_list(list):
    return min(list)  # Returning the minimum value in the list using min()


print(min([1, -1, 3, 4, 5, 6])) # Executing function