前提・実現したいこと
プログラミング初心者です。
PythonのTkinterでクイズのアプリを作っています。
正解、不正解のBGMを鳴らすときに、
音は出るのですが、2問目以降に以下のエラーメッセージが表示されてしまいます。
発生している問題・エラーメッセージ
raise RuntimeError('EventLoop.run() must be called from the same ' + RuntimeError: EventLoop.run() must be called from the same thread that imports pyglet.app
該当のソースコード
python,tkinter
1 2# 選択肢の正誤判定 3# aは自分の解答番号、nqは問題番号、dataは問題の入ったリスト 4# data[nq][5]は問題の答えの番号です。 5# judge()は他の場所で使っています。 6 7def judge(a): 8 global nq 9 if data[nq][5] == a: 10 StatusLabel.configure(text='正解') 11 playSound_t() 12 elif data[nq][5] != a: 13 StatusLabel.configure(text='不正解') 14 playSound_f() 15 16 17# サウンドのスタート 18def startPlaying_f(): 19 player.queue(music_file_f) 20 player.play() 21 pyglet.app.run() 22 23 24def startPlaying_t(): 25 player.queue(music_file_t) 26 player.play() 27 pyglet.app.run() 28 29 30# サウンドの再生 31def playSound_f(): 32 global sound_thread 33 sound_thread = Thread(target=startPlaying_f) 34 sound_thread.start() 35 36 37def playSound_t(): 38 global sound_thread 39 sound_thread = Thread(target=startPlaying_t) 40 sound_thread.start() 41 42 43# 閉じるボタンの動作 44def quit(event=None): 45 root.destroy() 46 47 48root = tk.Tk() 49player = pyglet.media.Player() 50path_sound_f = 'false.mp3' 51path_sound_t = 'true.mp3' 52music_file_f = pyglet.media.load(path_sound_f) 53music_file_t = pyglet.media.load(path_sound_t) 54 55root.mainloop() 56pyglet.app.exit()
試したこと
pyglet.app.runとpyglet.exitの場所の変更は、少し試しましたが、エラーメッセージが消えません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/20 10:05