在pygame中播放音乐的简单代码无法工作

0 投票
2 回答
1991 浏览
提问于 2025-04-17 13:01

我查了很多关于如何在 pygame 中播放声音的资料。下面的代码是我目前写的。但是当我运行它的时候,没有出现错误代码,但也没有任何反应。有人能告诉我该改什么,或者什么代码是有效的吗?我查了很多资料,但都没有帮助。

import pygame

pygame.init()
pygame.mixer.music.load('file')
pygame.mixer.music.play()
pygame.quit()

2 个回答

3

mixer.music.play() 是一个异步函数,这意味着它会开始播放音乐,然后让程序继续运行,不会停下来等音乐播放完。

所以你的程序一开始播放音乐,然后就立刻结束了。

pygame 制作的应用程序通常需要在一个事件循环中运行,所以这个函数是异步的也是很合理的。

解决这个问题的方法是实现一个事件循环(可以看看一些教程)。

还有一个简单的办法:在 ...play() 之后加上 pygame.event.wait() 的调用。

4

一种更好的等待结束的方法是定期检查 get_busy 的状态,当它返回 false 时就退出。

撰写回答