gpt4 book ai didi

python - Python pygame.mixer不会无限播放音乐

转载 作者:行者123 更新时间:2023-12-02 22:40:45 26 4
gpt4 key购买 nike

我想连续播放一个闹钟文件,直到它检测到一个按钮被按下为止。在这种情况下,我使用键盘中断来尝试。

这是我的脚本:

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()

Returns True when the music stream is actively playing. When the music is idle this returns False.



因此,问题在于,当声音结束并要重新开始时,此函数会在很小的间隙中返回False。这就是您的第二个版本起作用的原因。

关于python - Python pygame.mixer不会无限播放音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22979174/

26 4 0
文章推荐: PowerShell 将散列的内容输出到文件
文章推荐: pywinauto - 使用 pywinauto 从组合框中选择一个项目
文章推荐: angularjs - Angular $digest 循环使 Chrome 50 的打开