pygame.error: mixer not initialized

在写飞机大战处理背景音乐时,本身按照视频当中的代码应该是

class GameSound(object):
    def __int__(self):
        pygame.mixer.init()
        pygame.mixer.music.load("../飞机大战/res/sound/game_music.ogg")
        pygame.mixer.music.set_volume(0.5)

    def playBackgroundMusic(self):
        # pygame.mixer.init()
        # pygame.mixer.music.load("../飞机大战/res/sound/game_music.ogg")
        # pygame.mixer.music.set_volume(0.5)
        pygame.mixer.music.play(-1)

成立一个背景音乐类在__int__(self)方法中对mixer进行初始化相关操作,在成一个成立一个

playBackgroundMusic方法对其传入参数-1进行播放,但是会抱错

mixer位初始化,在网上查阅相关资料也没有找到相关处理办法,后来我在playBackgroundMusic方法中对其初始化程序可以正常运行,

改正后的代码为:

class GameSound(object):
    def __int__(self):
        pygame.mixer.init()
        pygame.mixer.music.load("../飞机大战/res/sound/game_music.ogg")
        pygame.mixer.music.set_volume(0.5)

    def playBackgroundMusic(self):
        pygame.mixer.init()
        pygame.mixer.music.load("../飞机大战/res/sound/game_music.ogg")
        pygame.mixer.music.set_volume(0.5)
        pygame.mixer.music.play(-1)

思路为在playBackgroundMusic方法中重新对其进行初始化,但是这样代码有冗余,重复度很高,但是我没有找到更好的处理办法。

有不同处理办法的大神可以一起交流,分享你的解决办法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值