尝试以下操作:
import pygame, sys
pygame.init()
pygame.mixer.init(22050, -16, 2, 3072)
pygame.mixer.music.load("Kundara_Lake-of-Dust-320.mp3")
pygame.mixer.music.play(1, 0.0)
running = 1
while(running):
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
pygame.mixer.music.stop()
pygame.quit()
running = 0
从http://www.pygame.org/docs/ref/pygame.html
pygame.quit
未初始化先前已初始化所有pygame的模块。当Python解释器关闭时,不管这个方法是什么,所以你的程序不应该需要它,除非它想要终止它的pygame资源并继续。多次调用此函数是安全的:重复调用不起作用。
请注意,pygame.quit不会退出您的程序。考虑让你的程序以一个普通的Python程序结束的方式结束。
由于while(1)
,您正循环无限地拨打pygame.quit()
。
来源
2012-09-18 19:50:50
Dan
不幸的是没有问题,我把程序简化为while循环(用你的“跑步”建议),而它所做的只是当你打印“hi”按Escape。但它仍然只是做无限循环没有结果的事情。没有发生,直到你手动结束程序。 – Aerovistae
我编辑澄清。 – Aerovistae
我认为你需要一个窗口捕获输入 –