嘗試以下操作:
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
我認爲你需要一個窗口捕獲輸入 –