From bd7460d67060e20aac204cfb62eac951677da69c Mon Sep 17 00:00:00 2001 From: hnu202111020427 Date: Sun, 2 Jan 2022 01:27:07 +0800 Subject: [PATCH] more clean and pack --- __pycache__/musicplayer.cpython-39.pyc | Bin 14656 -> 15343 bytes musicplayer.py | 67 ++++++------------------- 2 files changed, 16 insertions(+), 51 deletions(-) diff --git a/__pycache__/musicplayer.cpython-39.pyc b/__pycache__/musicplayer.cpython-39.pyc index 32156c2f8be79f1758ee290a273618fa9c1adc6c..e7a83cbc0dc9f00d5975650f2dd74cc94819e667 100644 GIT binary patch literal 15343 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 Jekg&d{x8%7A(8+9 diff --git a/musicplayer.py b/musicplayer.py index 8114cb0..3efaa4f 100644 --- a/musicplayer.py +++ b/musicplayer.py @@ -139,29 +139,29 @@ class MainFrame(wx.Frame): def draw_play_music_panel(self): # 播放音乐所在的panel - self.play_music_panel = wx.Panel(self, id=-1, pos=(0, self.height - 150), size=(self.width, 150)) + self.play_music_panel = wx.Panel(self, id=-1, pos=(0, self.height - 130), size=(self.width, 150)) #self.play_music_panel.SetBackgroundColour("blue") # 歌的名字 - self.current_music_static_text = wx.StaticText(self.play_music_panel, -1, "请选择歌曲", - pos=(210, 0), size=(80, 30), style=wx.ALIGN_LEFT) + self.current_music_static_text = wx.StaticText(self, -1, "请选择歌曲", + pos=(210, self.height - 140), size=(80, -1), style=wx.ALIGN_LEFT) self.current_music_static_text.SetOwnForegroundColour((41, 36, 33)) - self.play_stop_button = wx.BitmapButton(self.play_music_panel, -1, self.play_png, pos=(320, 45), size=(50, 50)) + self.play_stop_button = wx.BitmapButton(self.play_music_panel, -1, self.play_png, pos=(320, 25), size=(50, 50)) self.play_stop_button.SetWindowStyleFlag(wx.NO_BORDER) self.play_stop_button.SetToolTip(u'播放/暂停') - last_music_button = wx.BitmapButton(self.play_music_panel, -1, self.last_music_png, pos=(260, 50), size=(40, 40)) + last_music_button = wx.BitmapButton(self.play_music_panel, -1, self.last_music_png, pos=(260, 30), size=(40, 40)) last_music_button.SetWindowStyleFlag(wx.NO_BORDER) last_music_button.SetToolTip(u'上一首') - next_music_button = wx.BitmapButton(self.play_music_panel, -1, self.next_music_png, pos=(390, 50), size=(40, 40)) + next_music_button = wx.BitmapButton(self.play_music_panel, -1, self.next_music_png, pos=(390, 30), size=(40, 40)) next_music_button.SetWindowStyleFlag(wx.NO_BORDER) next_music_button.SetToolTip(u'下一首') # 调节音量的按钮 - self.volume_slider = wx.Slider(self.play_music_panel, -1, int(self.default_volume*100), 0, 100, pos=(490, 30), + self.volume_slider = wx.Slider(self.play_music_panel, -1, int(self.default_volume*100), 0, 100, pos=(490, 10), size=(-1, 80), style=wx.SL_VERTICAL|wx.SL_INVERSE) self.volume_slider.SetToolTip(u'音量:%d%%' % (self.default_volume*100)) - self.play_slider = wx.Slider(self.play_music_panel, -1, pos=(550, 55), size=(600, -1),style=wx.SL_HORIZONTAL) + self.play_slider = wx.Slider(self.play_music_panel, -1, pos=(550, 35), size=(600, -1),style=wx.SL_HORIZONTAL) self.play_slider.SetToolTip('当前播放进度 00:00') @@ -182,7 +182,7 @@ class MainFrame(wx.Frame): def draw_downside_lyrics_panel(self): self.downside_lyrics_list = [] - for row in range(int((MAX_LYRIC_ROW-1)/2)+1,MAX_LYRIC_ROW+1): + for row in range(int((MAX_LYRIC_ROW+1)/2), MAX_LYRIC_ROW): lyrics_row = wx.StaticText(self.music_lyric_panel, -1, label='', pos=(100, 30 * row + 10), size=(400, -1), style=wx.ALIGN_CENTER) self.downside_lyrics_list.append(lyrics_row) @@ -235,7 +235,7 @@ class MainFrame(wx.Frame): self.update_total_music_time() # step3:开启新线程,追踪歌词 - self.music_lyric_panel = wx.Panel(self, id=-1, pos=(550, 0), size=(self.width - 550, self.height - 150)) + self.music_lyric_panel = wx.Panel(self, id=-1, pos=(550, 0), size=(self.width - 550, self.height - 130)) if self.get_lyric_path() is None or not os.path.exists(self.get_lyric_path()): self.current_lyrics_word_list = [] @@ -243,17 +243,17 @@ class MainFrame(wx.Frame): self.medium_row = wx.StaticText(self.music_lyric_panel, -1, label='暂无歌词', pos=(100, 280), size=(400, -1), style=wx.ALIGN_CENTER) self.medium_row.SetOwnForegroundColour((61, 89, 171)) - self.draw_upside_lyrics_panel() - self.draw_downside_lyrics_panel() else: self.get_lyrics_word() self.get_lyrics_time() self.medium_row = wx.StaticText(self.music_lyric_panel, -1, label='', pos=(100, 280), size=(400, -1), style=wx.ALIGN_CENTER) self.medium_row.SetOwnForegroundColour((61, 89, 171)) - self.draw_upside_lyrics_panel() - self.draw_downside_lyrics_panel() + self.draw_upside_lyrics_panel() + self.draw_downside_lyrics_panel() + #print(len(self.upside_lyrics_list)) + #print(len(self.downside_lyrics_list)) self.current_music_state = 1 self.play_stop_button.SetBitmap(self.stop_png) # 更改当前播放的音乐的名字 @@ -313,11 +313,7 @@ class MainFrame(wx.Frame): self.play_index_music(len(self.local_music_name_list) - 1) def change_volume(self, evt): - ''' - 修改音量 - :param evt: - :return: - ''' + #修改音量 #self.setVolumeAndTip() value = self.volume_slider.GetValue() obj = evt.GetEventObject() @@ -376,14 +372,8 @@ class MainFrame(wx.Frame): def sync_lyrics(self,evt): current_time = self.play_slider.GetValue() timelist = self.current_lyrics_time_list - #self.music_lyric_panel = wx.Panel(self, id=-1, pos=(550, 0), size=(self.width - 550, self.height - 150)) for point in range(len(timelist)): if abs(current_time-timelist[point])<=1: - #print(1) - #self.music_lyric_panel = wx.Panel(self, id=-1, pos=(550, 0), size=(self.width - 550, self.height - 150)) - #medium_row = wx.StaticText(self.music_lyric_panel, -1, self.current_lyrics_word_list[point], pos=(100, 280), - # size=(400, -1), style=wx.ALIGN_CENTER) - #medium_row.SetOwnForegroundColour((61, 89, 171)) self.medium_row.SetLabelText(self.current_lyrics_word_list[point]) self.set_upside_lyrics(point) self.set_downside_lyrics(point) @@ -391,12 +381,6 @@ class MainFrame(wx.Frame): #time.sleep(0.5) else: pass - ''' if abs(timelist[point-1]-timelist[point+1])>=2: - medium_row = wx.StaticText(self.music_lyric_panel, -1, f'* * * * * *', pos=(100, 280), - size=(400, -1), style=wx.ALIGN_CENTER) - medium_row.SetOwnForegroundColour((61, 89, 171)) - medium_row.Refresh()''' - #time.sleep(0.5) def set_upside_lyrics(self,row): if row-9 <=0: @@ -409,8 +393,6 @@ class MainFrame(wx.Frame): for i in range(start,row): self.upside_lyrics_list[j].SetLabelText(self.current_lyrics_word_list[i]) j += 1 - if j == 9: - j = 0 def set_downside_lyrics(self,row): if row+9 >= len(self.current_lyrics_word_list): @@ -418,8 +400,6 @@ class MainFrame(wx.Frame): for i in range(row+1, len(self.current_lyrics_word_list)): self.downside_lyrics_list[j].SetLabelText(self.current_lyrics_word_list[i]) j += 1 - if j == 9: - j = 0 else: end = row+10 j = 0 @@ -427,7 +407,7 @@ class MainFrame(wx.Frame): self.downside_lyrics_list[j].SetLabelText(self.current_lyrics_word_list[i]) j += 1 if j == 9: - j = 0 + return def get_mp3_cover(self, filepath): audio = File(filepath) @@ -455,14 +435,7 @@ class MainFrame(wx.Frame): def updatemusicslider(self,evt): offest = int(self.music.get_pos()/1000)+self.settime - #print(int(self.music.get_pos()/1000)) - #print(self.settime) - #self.settime = 0 - #print(self.settime) - #print(time) - #print(time.strftime("%M:%S", time.gmtime(offest))) self.play_slider.SetValue(offest) - #self.settime = 0 def onUpdateText(self,evt): #offset = int(self.music.get_pos()/1000) @@ -527,14 +500,6 @@ class MainFrame(wx.Frame): #evt.Skip() #self.music.set_pos(offset) - ''' def timer(self): - global flag - if ischanging: - flag = var.get() - player.get_pos() / 1000 # 毫秒转秒 - pygame.mixer.music.set_pos(var.get()) - else: - var.set(pygame.mixer.music.get_pos() / 1000 + flag) # 毫秒转秒后加上 flag''' - def OnClose(self, evt): dlg = wx.MessageDialog(None, u'确定要关闭本窗口?', u'操作提示', wx.YES_NO | wx.ICON_QUESTION) if(dlg.ShowModal() == wx.ID_YES):