add support for other music file extension

pull/1/head
hnu202111020427 3 years ago
parent bf66b0b154
commit 21d466a97b

@ -20,8 +20,8 @@ class MainFrame(wx.Frame):
def __init__(self):
'''构造函数'''
# 播放器的整体属性
self.width = 1920
self.height = 1080
self.width = 1280
self.height = 720
self.volume = 0.5
self.local_music_folder = "music_folder"
wx.Frame.__init__(self, None, -1, APP_TITLE)
@ -33,7 +33,7 @@ class MainFrame(wx.Frame):
self.lyrcis_static_text = [] # 当前播放的音乐的歌词列表
self.play_stop_button = None # 播放、暂停按钮
self.current_music_state = 0 # 是否有音乐在播放0表示否
self.IsPaused = False # 是否暂停
self.IsPaused = False # 是否暂停
self.current_music_index = 0 # 当前音乐的索引
# 初始化本地歌曲列表
@ -85,7 +85,7 @@ class MainFrame(wx.Frame):
'''
self.local_music_name_list.clear() # 这一步必须有
for local_music_file_name in os.listdir(self.local_music_folder):
if local_music_file_name.endswith(".mp3"):
if local_music_file_name.endswith((".wav", ".flac", ".mp3")):
self.local_music_name_list.append(local_music_file_name)
def draw_navi_panel(self):
@ -111,7 +111,7 @@ class MainFrame(wx.Frame):
# 音乐列表
local_music_num = len(self.local_music_name_list)
for music_index in range(local_music_num):
music_full_name = self.local_music_name_list[music_index].replace(".mp3", "")
music_full_name = self.local_music_name_list[music_index].split('.')[0]
if len(music_full_name) > MAX_MUSIC_NAME_LEN:
music_full_name = music_full_name[0:MAX_MUSIC_NAME_LEN] + "..."
music_text = wx.StaticText(self.music_list_panel, -1, music_full_name,
@ -198,7 +198,7 @@ class MainFrame(wx.Frame):
def get_lyric_path(self):
current_music_path = self.get_path_by_name(self.local_music_name_list[self.current_music_index])
lyric_path = current_music_path.replace(".mp3", ".lrc")
lyric_path = current_music_path.split('.')[0]+'.lrc'
if os.path.exists(lyric_path):
return lyric_path
else:
@ -220,10 +220,11 @@ class MainFrame(wx.Frame):
self.current_music_state = 1
self.play_stop_button.SetBitmap(self.stop_bmp)
# 更改当前播放的音乐的名字
current_music_name = self.local_music_name_list[self.current_music_index].replace(".mp3", "")
current_music_name = self.local_music_name_list[self.current_music_index]
namelist = current_music_name.split('.')
if len(current_music_name) > MAX_MUSIC_NAME_LEN:
current_music_name = current_music_name[0:MAX_MUSIC_NAME_LEN] + "..."
self.current_music_static_text.SetLabelText(current_music_name)
self.current_music_static_text.SetLabelText(namelist[0])
def play_index_music(self, music_index):
'''

@ -1,11 +1,29 @@
import wx
APP_TITLE = u'音乐播放器'
class MainFrame(wx.Frame):
class mainFrame(wx.Frame):
'''程序主窗口类继承自wx.Frame'''
def __init__(self):
self.width = 1920
self.height = 1080
wx.Frame.__init__(self, None, APP_TITLE)
'''构造函数'''
# 播放器的整体属性
self.width = 1280
self.height = 780
wx.Frame.__init__(self, None, -1, "播放器")
self.SetSize(self.width, self.height)
self.SetBackgroundColour((248, 248, 255))
# 定义一个面板panelself表示它的父组件是主界面-1是面板的idsize表示面板的大小
# pos表示面板的位置
panel = wx.Panel(self, -1, size=(200, 200), pos=(50, 35))
# 定义一个按钮它的父组件是panel就是说它在panel上
# id是-1上面的文字是“Panel里边“
wx.Button(panel, -1, 'Panel里边', size=(100, 100), pos=(10, 10))
# 定义一个按钮它的父组件是主界面self就是说它在主界面上
# id是-1上面的文字是“Frame里边“
wx.Button(self, -1, 'Frame里边')
app = wx.App()
frame = mainFrame()
frame.Show()
app.MainLoop()

Loading…
Cancel
Save