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

質問編集履歴

1

説明文章を分かりやすく

2018/09/11 11:23

投稿

horisuke3232
horisuke3232

スコア109

title CHANGED
@@ -1,1 +1,1 @@
1
- raspberry pi ジュークボックス 数秒するとプログラムが終了してしまう
1
+ Raspberry Pi プログラムがすぐに終了してしまう
body CHANGED
@@ -1,14 +1,9 @@
1
- Raspberry piにボタンを4つ付けてボタン押されるとそれぞれに割り振られが再生という物を作りました。
1
+ Raspberry Piにボタンを付けてボタンすと指定された音楽が再生される物を作りたいと思っています
2
2
 
3
- モニターを取り外して使用したいため、起動時に以下のプログラムが動作るよう設定/etc/rc.localに記述
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
  ```