Pygame加载音频报错:pygame.error: Unknown WAVE format 求助
解决Pygame加载WAV音频报错"Unknown WAVE format"的方案
先修正代码中的初始化问题
你当前代码存在两次调用pygame.init(),且pygame.mixer.pre_init在第一次pygame.init()之后执行,这会导致混音器的预配置参数不生效,可能引发音频加载异常。调整后的代码如下:
import pygame WINDOWSIZE = (500, 600) # 先配置混音器参数,再初始化pygame pygame.mixer.pre_init(44100, -16, 2, 512) pygame.init() # 设置音频通道数量 pygame.mixer.set_num_channels(64) screen = pygame.display.set_mode(WINDOWSIZE) pygame.display.set_caption("Menu") try: pygame.mixer.music.load('music.wav') # 可选:循环播放音频 pygame.mixer.music.play(-1) except pygame.error as e: print(f"音频加载失败:{e}")
处理音频文件格式问题
报错核心原因大概率是你的music.wav并非Pygame支持的未压缩PCM编码WAV格式,Pygame不支持压缩型WAV(比如ADPCM编码、伪装成WAV的MP3等)。可以通过以下步骤修复:
- 用音频编辑工具(如Audacity)打开原音频文件
- 选择「文件→导出→导出为WAV」
- 在导出设置中选择未压缩的WAV,采样率设为44100Hz、位深度16位,声道数保持立体声/单声道均可(建议和
pre_init参数匹配)
验证文件路径
确保music.wav和你的Python脚本在同一目录下,若不在同一目录,需使用绝对路径,例如:
# Windows系统示例 pygame.mixer.music.load('C:/your_game_folder/music.wav') # Linux/macOS系统示例 pygame.mixer.music.load('/home/your_user/your_game_folder/music.wav')
内容的提问来源于stack exchange,提问作者Dấu tến Dũng
相关产品推荐
相关产品推荐

