之前完成了一个较为简陋音乐播放器,这几天对其界面进行重置,让这个播放器界面稍微能高大上一点。新界面效果如下:

一、使用方法
界面上显示选择文件夹时指针放置该区域点击鼠标右键选择文件夹,选择成功后左键点击歌名暂停和播放,键盘左右键切换上一曲下一曲。
二、新增模块
2.1 歌词模块
歌词显示主要需要提前对歌词文件进行读取,然后将歌词与时间戳根据时间戳为Key键建立为字典,在之后需要的地方根据时间戳对字典值进行访问。
# 歌词载入字典文件
def getGeCi(path):
global lrc_dict
# 打开文件
lrc_dict = {}
if os.path.exists(path):
file = open(path, "r")
# 读取文件全部内容
lrc_list = file.readlines()
# '[01:48.00],[00:24.00],怀著冷却了的心窝飘远方'
# 遍历所有元素,干掉方括号
for i in lrc_list:
# 取出方括号并切割歌词字符串
lrc_word = i.replace("[", "]").strip().split("]")
# 得到的结果: lrc_word = ['', '01:40.00', '', '00:16.00', '今天我寒夜里看雪飘过']
for j in range(len(lrc_word)-1):
if lrc_word[j] and lrc_word[j].find('.') > 0:
jj = lrc_word[j][0:lrc_word[j].find('.')]
lrc_dict[jj] = lrc_word[-1]
file.close()
else:
lrc_dict = {}
显示时访问对应字典值:
if len(lrc_dict) != 0:
if str(lrc_dict.get(str_time)).strip() == "None":
pass
else:
gecivar.set(lrc_dict.get(str_time))
else:
gecivar.set("该歌曲无歌词文件")
2.2 圆环显示
创建这个圆环显示的初衷是将歌曲的节奏根据圆环的大小来显示出来,但是实在是本人在这方面的知识很是匮乏,所以仅仅是虎头蛇尾的完成随机大小的圆环显示,和歌曲节奏没有任何关系,比较遗憾。但是此处还是贴出我完成此功能的代码。
# 自建画圆函数
def darwCircle(cv,i,color,bian):
global mySize
cv.create_oval(mySize/2-100-bian*i, mySize/2-100-bian*i, mySize/2+100+bian*i, mySize/2+100+bian*i,
outline = color, # 边框颜色
width = bian # 边框宽
)
# 自建画圆线程
def musicDraw():
global startFlag
# 随机画圆
while True:
if startFlag:
i = random.randint

最低0.47元/天 解锁文章
438





