Как воспроизвести звук при нажатии кнопки tkinter?

Я создаю программу для ПК с Windows, которая содержит много кнопок и выглядит очень просто. Мне было интересно, могу ли я сделать так, чтобы при нажатии кнопки (с помощью tkinter) можно было воспроизвести звук, чтобы немного оживить программу? Пожалуйста, имейте в виду, что я учусь, поэтому, пожалуйста, немного поторопитесь.

4 ответа

Предполагая, что ваш файл 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()

Вы также можете использовать библиотеку 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()

Сначала вам нужно связать щелчок мыши на изображении с помощью четного обработчика, а затем просто определить функцию on_click:

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

Здесь вы можете найти больше информации о воспроизведении звуков в Python.

Просто используйте

      import os
os.system("play sound.mp3")
Другие вопросы по тегам