background_music_player.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:FestEngine 作者: Himura2la 项目源码 文件源码
def play_sync(self):
        self.player.set_media(self.vlc_instance.media_new(self.playlist[self.current_track_i]['path']))
        if self.player.play() != 0:  # [Play] button is pushed here!
            wx.CallAfter(lambda: self.parent.set_bg_player_status("Playback FAILED !!!"))
            return

        state = self.player.get_state()
        start = time.time()
        while state != vlc.State.Playing:
            state = self.player.get_state()
            status = "%s [%fs]" % (self.parent.player_state_parse(state), (time.time() - start))
            wx.CallAfter(lambda: self.parent.set_bg_player_status(status))
            time.sleep(0.005)

        self.playlist[self.current_track_i]['color'] = Colors.BG_PLAYING_NOW

        if self.window_exists():
            def ui_upd():
                self.window.pause_btn.Enable(True)
                self.window.lock_btn.Enable(True)
                self.window.grid.SetCellBackgroundColour(self.current_track_i, 0, Colors.BG_PLAYING_NOW)
                self.window.grid.ForceRefresh()  # Updates colors
                self.window.pause_btn.SetValue(False)

            wx.CallAfter(ui_upd)

        volume = 0 if self.fade_in_out else self.volume
        start = time.time()
        while self.player.audio_get_volume() != volume:
            self.player.audio_set_mute(False)
            self.player.audio_set_volume(volume)
            status = "Trying to unmute... [%fs]" % (time.time() - start)
            wx.CallAfter(lambda: self.parent.set_bg_player_status(status))
            time.sleep(0.005)

        if self.fade_in_out:
            self.fade_in_sync(self.stop_fade_speed)

        wx.CallAfter(lambda: self.parent.set_bg_player_status("%s Vol:%d" %
                                                              (self.parent.player_state_parse(self.player.get_state()),
                                                               self.player.audio_get_volume())))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号