我写了一个python脚本来播放声音。
#!/usr/bin/python
import pygame
import time
def playNotificationSount():
pygame.init()
pygame.mixer.music.load("notification.mp3")
pygame.mixer.music.play()
time.sleep(10)
playNotificationSount()
它可以在ubuntu中播放声音,但在Windows中没有播放声音。它没有给出错误消息。 如何改进脚本以便它可以在所有操作系统中播放声音?
答案 0 :(得分:0)
如果您想在不打开pygame窗口的情况下播放声音(或音乐),则必须在致电pygame.init()
(或仅拨打pygame.mixer.init()
)之前致电pygame.mixer.init()
。您必须这样做的原因我不清楚,但它确实有效。这是一个最小的例子:
import pygame
pygame.mixer.init() # Initialize the mixer module.
sound1 = pygame.mixer.Sound('notification.mp3') # Load a sound.
while True:
inpt = input('Press enter to play the sound: ')
sound1.play() # Play the sound.
print('Playing sound')
在普通游戏中,您必须先打pygame.display.set_mode()
打开一个pygame窗口才能播放音乐或声音,并且您不必单独拨打pygame.mixer.init()
。另外,如果声音出现问题,在pygame.mixer.pre_init(44100, -16, 2, 2048)
之前调用pygame.init()
会有所帮助。
import pygame
pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.init()
screen = pygame.display.set_mode((640, 480))
def playNotificationSound():
pygame.mixer.music.load('notification.mp3')
pygame.mixer.music.play()
playNotificationSound()