teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

サンプルコードを追記

2021/12/22 04:28

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -8,4 +8,13 @@
8
8
 
9
9
  pygame.mixer.music 関連の操作は、ノンブロッキングで実行されるので、
10
10
  スレッドを用いずにGUIスレッド内で一緒に併用することも可能です。(※制限: init等の時間のかかる操作以外)
11
- その場合、再生時間の制御にはtkinterのタイマー(after関数)を用いて、2秒後にstopを呼び出すようにします。
11
+ その場合、再生時間の制御にはtkinterのタイマー(after関数)を用いて、2秒後にstopを呼び出すようにします。
12
+
13
+ ----
14
+ スレッドを用いる場合のデモ
15
+
16
+ https://replit.com/@MiKLTea/PyGameMixerThreadDemo#main.py
17
+
18
+ ※ repl.it のサイト自体は pygame/tkinter のGUIの実行を部分的にサポートしてますが、
19
+  音声関連のpygame.mixer はサポートされてません。
20
+ ※ 手元のpygameのバージョンが古かった(1.9.6)為、2.0.1での動作確認は取ってません。

1

補足

2021/12/22 04:28

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -7,5 +7,5 @@
7
7
  スレッドを用いる場合は、必ず単一のスレッドのみがpygame.mixer関連の操作行うような構成にします。
8
8
 
9
9
  pygame.mixer.music 関連の操作は、ノンブロッキングで実行されるので、
10
- スレッドを用いずに用することも可能です。
10
+ スレッドを用いずにGUIスレッド内で一緒に併用することも可能です。(※制限: init等の時間のかかる操作以外)
11
11
  その場合、再生時間の制御にはtkinterのタイマー(after関数)を用いて、2秒後にstopを呼び出すようにします。