我希望有人可能对如果按住按钮(或者在我的情况下按下超过一秒)如何阻止脚本继续重复有一些见解?
基本上我在面包板上设置了一个按钮,并且我将它编码为在按下按钮时播放音频文件。这是可行的,但是如果按钮不是很快被点击,那么音频将自行重复,直到按钮完全释放。此外,如果按住按钮,音频文件将无限期地重复。
如果它有帮助,我已经录制了一个快速记录来演示这个问题,这里:https ://streamable.com/esvoy6
我还应该注意,我对 python 非常陌生(实际上是一般的编码),所以它很可能是一些我还没有找到的简单的东西。我正在为我的图书馆使用 gpiozero。
非常感谢任何帮助或见解!
这是我的代码现在的样子:
from gpiozero import LED, Button
import vlc
import time
import sys
def sleep_minute(minutes):
sleep(minutes * 60)
# GPIO Pins of Green LED
greenLight = LED(17)
greenButton = Button(27)
# Green Button Pressed Definition
def green_btn_pressed():
print("Green Button Pressed")
greenButton.when_pressed = greenLight.on
greenButton.when_released = greenLight.on
# Executed Script
while True:
if greenButton.is_pressed:
green_btn_pressed()
time.sleep(.1)
print("Game Audio Start")
p = vlc.MediaPlayer("/home/pi/Desktop/10 Second Countdown.mp3")
p.play()