pygame.error: mixer not initialized和pygame.error: WASAPI can‘t find requested audio endpoint: 找不到元素。

在使用Python Pygame开发游戏时遇到声音模块初始化失败的问题,导致游戏窗口闪退。错误提示为mixer未初始化和找不到音频输出设备。尝试多次初始化未果,最终发现是因为台式机没有连接音频设备,Pygame无法找到输出声音的设备。插入耳机或音响等音频设备后,问题得到解决。
摘要由CSDN通过智能技术生成

在使用Python开发游戏时难免会用到Pygame模块,其中该模块有个关于声音函数,使用该函数我们可以为我们的游戏添加音效。


问题描述:

要使用声音模块我们就必须在主函数开头初始化我们的游戏,因此我们在主函数的开头就添加以下语句来初始化游戏。

# 游戏初始化
    pygame.init()

但是当我运行程序时,发现游戏窗口出现闪退的情况,并且出现报错信息,如下:

D:\Game\TankWar\venv\Scripts\python.exe D:/Game/TankWar/main.py
pygame 2.0.2 (SDL 2.0.16, Python 3.8.5)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "D:/Game/TankWar/main.py", line 41, in <module>
    is_quit_game = run_Game(config)
  File "D:/Game/TankWar/main.py", line 22, in run_Game
    sounds[key] = pygame.mixer.Sound(value)
pygame.error: mixer not initialized

Process finished with exit code 1

它竟然说我没有初始化mixer!!!没办法,我们就按他那个报错走嘛,给他再单独初始化一下mixer。
pygame.init()
pygame.mixer.init()

我***你个***!!!还是出现以下报错信息,游戏窗口照样闪退。

D:\Game\TankWar\venv\Scripts\python.exe D:/Game/TankWar/main.py
pygame 2.0.2 (SDL 2.0.16, Python 3.8.5)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "D:/Game/TankWar/main.py", line 42, in <module>
    is_quit_game = run_Game(config)
  File "D:/Game/TankWar/main.py", line 17, in run_Game
    pygame.mixer.init()
pygame.error: WASAPI can't find requested audio endpoint: 找不到元素。

Process finished with exit code 1

解决方案:

经过我反复测试发现,它竟然有的时候可以正常运行,有的时候就会出现以上报错。终于我找到了一位大佬的文章,解决了这个问题。

耳机的问题!!!

因为我用的是台式机并且没有连接音响,所以一直没有音频输出设备这导致pygame不知道在哪里输出声音(在这种情况下无法找到音频设备),从而引发错误。插入音频设备(即我的耳机)后,就…就解决了。。。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值