Raspberry Piでpythonプログラムを起動するにあたり、GUIでpythonファイルをダブルクリックしてファイルを開き、実行を押すと起動し、ボタンを押すと音楽が再生されます。
プログラム内容はgpioに2つボタンを取り付け、それぞれのボタンを押すと割り当てられた音楽が再生されます。
python
1import pygame 2from gpiozero import Button 3 4pygame.init() 5 6btn_gen = Button(4) 7btn_man = Button(17) 8 9 10man = pygame.mixer.Sound("samples/man.wav") 11gen = pygame.mixer.Sound("samples/gen.wav") 12 13btn_gen.when_pressed = lambda: any(s.stop() for s in (gen, man)) or gen.play() 14btn_man.when_pressed = lambda: any(s.stop() for s in (gen, man)) or man.play() 15 16
こちらを、ターミナルで
pi@raspberrypi:/gpio-music-box $ python musicbox2.py/gpio-music-box $
としてもgpioのボタンを押すとpi@raspberrypi:
となり、音楽が再生されません。
原因はなんでしょうか?
namnium1125さんに教えていただき解決したコードを記述します。
python
1mport pygame 2from gpiozero import Button 3 4pygame.init() 5 6btn_gen = Button(4) 7btn_man = Button(17) 8 9 10man = pygame.mixer.Sound("samples/man.wav") 11gen = pygame.mixer.Sound("samples/gen.wav") 12 13num = 0 14while num <100: 15 16 btn_gen.when_pressed = lambda: any(s.stop() for s in (gen, man)) or gen.play() 17 btn_man.when_pressed = lambda: any(s.stop() for s in (gen, man)) or man.play() 18 num +1 19 20print("end") 21

回答1件
あなたの回答
tips
プレビュー