我正试图用Python为树莓派3b写一个程序,当按下板载按钮时,它会播放随机加载的.wav文件,但它会尝试播放声音,然后用退出代码-11停止程序。退出代码是什么意思,我该如何修复它。这个程序应该在我没有屏幕的情况下运行,因为我写它是为了在一个闹鬼的森林里使用。我的计划是在我去上班之前把它设置成运行状态,然后在必要的时候,按下按钮,吓唬一个穿过森林的人。
为了简单起见,这里是我写的函数和麻烦的代码,而不是程序的其余部分(button pin = 3):
def PlaySound(file):
with open(Path + file, "rb") as WaveFileRB:
Wave = WaveFileRB
pygame.mixer.music.load(Wave)
pygame.mixer.music.play(loops=0,start=0.0,fade_ms=0)
while pygame.mixer.music.get.busy() == True:
continue
while True:
time.sleep(0.1)
if GPIO.input(ButtonPin) == GPIO.LOW:
time.sleep(0.5)
File = random.choice(SoundFiles)
PlaySound(File)
else:
continue
字符串
基本上,我已经尝试谷歌的问题,并没有真正告诉我如何解决它.我已经得到了最接近的是有人在论坛上像9年前问我大致相同的问题,和几个人说,一个简单的修复是删除SFX一起,我不能这样做,因为它的程序的全部点.
1条答案
按热度按时间ldfqzlk81#
我在Raspberry Pi上使用PyAudio和线程时遇到了一个非常类似的错误。很多调试都不成功,直到现在我终于将音频播放从
PyAudio
更改为sounddevice
(pip install sounddevice
),错误才消失。您也可以通过将
pygame
播放替换为sounddevice
包来解决这个问题。