微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 pygame.mixer.music.play() 重复播放歌曲?

如何解决如何使用 pygame.mixer.music.play() 重复播放歌曲?

我尝试使用 pygame 模块重复播放一首歌曲(mp3)。代码如下来自网站https://www.studytonight.com/tkinter/music-player-application-using-tkinter 调用这个函数的时候只出来一次,当然是很自然的。

    def playsong(self):      
       # displaying Selected Song title
       self.track.set(self.playlist.get(ACTIVE))
       # displaying Status
       self.status.set("-Playing")
       # Loading Selected Song
       pygame.mixer.music.load(self.playlist.get(ACTIVE))
       # Playing Selected Song
       pygame.mixer.music.play()

为了重复这个声音文件,我添加了这样的循环,但它只播放了一次。 我怎么能一遍又一遍地重复这个?我应该多次调用 playsound(self) 函数吗?

   def playsong(self):
    for i in range(3):
        # displaying Selected Song title
        self.track.set(self.playlist.get(ACTIVE))
        # displaying Status
        self.status.set("-Playing")
        # Loading Selected Song
        pygame.mixer.music.load(self.playlist.get(ACTIVE))
        # Playing Selected Song
        pygame.mixer.music.play()

解决方法

pygame.mixer.music.play() 的第一个可选参数 (loops) 告诉函数重复播放音乐的频率。

例如通过 1 将音乐播放两次(重复一次):

pygame.mixer.music.play(1)

传递 -1 无限播放音乐:

pygame.mixer.music.play(-1)

pygame.mixer.music.play()

play(loops=0,start=0.0,fade_ms = 0) -> None

这将播放加载的音乐流。如果音乐已经在播放,它将重新启动。

loops 是一个可选的整数参数,默认为 0,它告诉重复音乐的次数。如果此参数设置为 -1,则音乐无限重复。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。