栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Pygame中进行中的两个音乐曲目之间逐渐消失

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Pygame中进行中的两个音乐曲目之间逐渐消失

试试这个,这很简单。

import pygamepygame.mixer.init()pygame.init()# Maybe you can subclass the pygame.mixer.Sound and# add the methods below to it..class Fader(object):    instances = []    def __init__(self, fname):        super(Fader, self).__init__()        assert isinstance(fname, basestring)        self.sound = pygame.mixer.Sound(fname)        self.increment = 0.01 # tweak for speed of effect!!        self.next_vol = 1 # fade to 100 on start        Fader.instances.append(self)    def fade_to(self, new_vol):        # you could change the increment here based on something..        self.next_vol = new_vol    @classmethod    def update(cls):        for inst in cls.instances: curr_volume = inst.sound.get_volume() # print inst, curr_volume, inst.next_vol if inst.next_vol > curr_volume:     inst.sound.set_volume(curr_volume + inst.increment) elif inst.next_vol < curr_volume:     inst.sound.set_volume(curr_volume - inst.increment)sound1 = Fader("1.wav")sound2 = Fader("2.wav")sound1.sound.play()sound2.sound.play()sound2.sound.set_volume(0)# fading..sound1.fade_to(0)sound2.fade_to(1)while True:    Fader.update() # a call that will update all the faders..


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/660025.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号