質問編集履歴
1
説明文章を分かりやすく
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
Raspberry Pi プログラムがすぐに終了してしまう
|
body
CHANGED
@@ -1,14 +1,9 @@
|
|
1
|
-
Raspberry
|
1
|
+
Raspberry Piにボタンを付けてボタンを押すと指定された音楽が再生される物を作りたいと思っています。
|
2
2
|
|
3
|
-
|
3
|
+
下記のようにプログラムしてみたところ、すぐに終了してしまいます。
|
4
|
+
継続的に動作させるにはどのように記述すればよいのでしょうか?
|
4
5
|
|
5
|
-
しかし、起動時数秒間動作するのですがその後終了してしまいます。
|
6
6
|
|
7
|
-
ループすれば良いと思いwhileを記述してみたところ、重複して曲が流れてしまうようになりました。おそらく、プログラムが繰り返し処理されるのでlambdaの所が無意味になるのかと思います。
|
8
|
-
|
9
|
-
どのようにすればプログラムが動作し、重複されないで曲を再生させることができますか?
|
10
|
-
|
11
|
-
|
12
7
|
```python
|
13
8
|
import pygame
|
14
9
|
from gpiozero import Button
|
@@ -29,5 +24,5 @@
|
|
29
24
|
btn_anpanmanop.when_pressed = lambda: any(s.stop() for s in (anpanmanop, nintama,usa,pokemon)) or anpanmanop.play()
|
30
25
|
btn_nintama.when_pressed = lambda: any(s.stop() for s in (anpanmanop, nintama,usa,pokemon)) or nintama.play()
|
31
26
|
btn_usa.when_pressed = lambda: any(s.stop() for s in (anpanmanop, nintama,usa,pokemon)) or usa.play()
|
32
|
-
btn_pokemon.when_pressed = lambda: any(s.stop() for s in (anpanmanop, nintama,usa,pokemon)) or pokemon.play()
|
27
|
+
btn_pokemon.when_pressed = lambda: any(s.stop() for s in (anpanmanop, nintama,usa,pokemon)) or pokemon.play()
|
33
28
|
```
|