[英]Python pygame.mixer does not play music infinitely
我想连续播放一个闹钟文件,直到它检测到一个按钮被按下为止。 在这种情况下,我使用键盘中断来尝试。
这是我的脚本:
import pygame
pygame.mixer.init()
pygame.mixer.music.load("beep.wav")
pygame.mixer.music.play(-1)
print "Time to take medicine!"
try:
while pygame.mixer.music.get_busy() == True:
continue
except KeyboardInterrupt:
pygame.mixer.music.stop()
但是,它只播放一次,然后停止并退出脚本。 怎么了?
更新:我设法让它运行并在键盘中断时终止,但我不明白为什么play(-1)
无法正常工作?
这是我的工作脚本:
import pygame
import sys
pygame.mixer.init()
pygame.mixer.music.load("beep.wav")
pygame.mixer.music.play(-1)
print "Time to take medicine!"
while True:
try:
while pygame.mixer.music.get_busy() == True:
continue
except KeyboardInterrupt:
pygame.mixer.music.stop()
sys.exit()
pygame手册说关于
pygame.mixer.music.get_busy()
当音乐流正在播放时,返回True。 当音乐空闲时,它返回False。
因此,问题在于,当声音结束并要重新开始时,此函数会在很小的间隙中返回False。 这就是您的第二个版本起作用的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.