#!python # -*- mode: python; Encoding: utf-8; coding: utf-8 -*- # Last updated: <2024/09/17 21:09:23 +0900> """ Speaker test Request : wav file Windows10 x64 22H2 + Python 3.10.10 64bit """ wavfile = "speakertest.wav" import tkinter as tk from tkinter import filedialog import winsound class LoopPlayer: def __init__(self, root): self.root = root self.root.title("Speaker Test") self.root.geometry("270x130") self.is_playing = False self.file_path = wavfile self.play_button = tk.Button(root, text="Play", command=self.toggle_play) self.play_button.pack(pady=20, ipadx=40, ipady=8) self.file_label = tk.Label(root, text=self.file_path) self.file_label.pack() self.select_button = tk.Button(root, text="Select WAV", command=self.select_file) self.select_button.pack() self.toggle_play() self.root.bind("", (lambda event: self.toggle_play())) self.root.bind("", (lambda event: self.toggle_play())) def select_file(self): self.file_path = filedialog.askopenfilename(filetypes=[("WAV files", "*.wav")]) if self.file_path: self.file_label.config(text=self.file_path.split("/")[-1]) def toggle_play(self): self.is_playing = not self.is_playing if self.is_playing: self.play_button.config(text="Stop") winsound.PlaySound(self.file_path, winsound.SND_FILENAME | winsound.SND_ASYNC | winsound.SND_LOOP) else: self.play_button.config(text="Play") winsound.PlaySound(None, winsound.SND_FILENAME) if __name__ == "__main__": root = tk.Tk() app = LoopPlayer(root) root.mainloop()