Воспроизведение звукового образца при каждом вводе tinter.text
Мне нужно воспроизводить образец ключа пишущей машинки каждый ввод tkinter.text. Я наткнулся на модуль Playsound, но я не знаю, как слушать входные данные.
2 ответа
Решение
Спасибо, я придумал очень похожее решение, но оно действительно тормозит. Я в основном пишу простой эмулятор пишущей машинки, поэтому звук клавиш воспроизводится для каждой набранной буквы.
import tkinter as tk
from PIL import Image, ImageTk
from playsound import playsound
def key(event):
key = event.char
playsound("C:/Users/Isma/key1.mp3")
win = tk.Tk()
frame = tk.Frame(win, width=300, height=400)
frame.grid(row=1, column=0)
text = tk.Text(frame)
text.grid(row=0,column=0)
text.bind('<Key>',lambda a : key(a))
image = Image.open("C:/Users/Isma/swintec1.jpg")
photo = ImageTk.PhotoImage(image)
label = tk.Label(frame,image=photo)
label.image = photo
label.grid(row=3,column=0)
win.mainloop()
Вы бы использовали bind
и настройте функцию для воспроизведения звука при срабатывании привязки.
import tkinter as tk
def key(event):
print("pressed", repr(event.char))
# Play sound here
root = tk.Tk()
text = tk.Text(root)
text.pack()
text.bind('<Key>', key)
root.mainloop()