首页 > 解决方案 > 自动运行 python-pygame 脚本不输出声音

问题描述

我目前正在尝试通过 rc.local 自动启动 python 脚本。python脚本是关于在按下按钮时播放声音:

import RPi.GPIO as GPIO
import pygame
import pygame.mixer

GPIO.setmode(GPIO.BOARD)
GPIO.setup(37, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

pygame.init()
pygame.mixer.init()

ausgeloest = True # bool for making only a sound after the button was released
while True:
     if GPIO.input(37) == 0:
           ausgeloest = False
     elif GPIO.input(37) == 1:
           #my code before: pygame.mixer.music.load("Sound1.wav")
           #my code before: pygame.mixer.music.play()
           #new code (thanks to the answers):
           music = pygame.mixer.Sound("/home/pi/soundmachine/Sound1.wav")
           music.play()
           
           print("Sound was played") #for testing purposes
           ausgeloest = True

当我手动运行该脚本时,该脚本在桌面模式下完美运行。我已经通过右键单击扬声器标志将默认音频输出设置为模拟,因为我想使用 3.5 毫米输出。但是一旦我切换到控制台模式(自动登录)并尝试运行它,就没有音频输出。

更新:错误消息现在消失了,我可以在控制台上看到测试 print() 行,但我仍然听不到所需的声音......所以脚本正在执行,但不知何故声音听不见. 我怎么解决这个问题?

标签: pythonaudiopygameraspberry-pi

解决方案


推荐阅读