回答編集履歴
2
サンプルコードを追記
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
補足
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を呼び出すようにします。
|