Python进程在尝试播放音频时以退出代码-11结束

n3h0vuf2  于 2023-11-20  发布在  Python
关注(0)|答案(1)|浏览(140)

我正试图用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一起,我不能这样做,因为它的程序的全部点.

ldfqzlk8

ldfqzlk81#

我在Raspberry Pi上使用PyAudio和线程时遇到了一个非常类似的错误。很多调试都不成功,直到现在我终于将音频播放从PyAudio更改为sounddevicepip install sounddevice),错误才消失。
您也可以通过将pygame播放替换为sounddevice包来解决这个问题。

相关问题