资源简介
python音乐播放器,绝对原创,可以显示动态歌词,可以作为python作业
代码片段和文件信息
import os
import time
from tkinter import scrolledtext
from tkinter import filedialog
from tkinter import *
import os.path
import pygame
import tkinter.messagebox
wd=Tk()
wd.title(“我的音乐播放器“)
wd.geometry(“600x600“)
scr=scrolledtext.ScrolledText(wdwidth=40height=30)
scr.place(x=300y=0)
def dongtaifeci(pathq):
global dictLrc
dictLrc = {} #创建字典类型,全局变量
#打印歌词,按照时间顺序,
def lrcTime(lrc):
dictLrc = lrc #将形参赋值给实参
listLrc = sorted(dictLrc) #将字典的key值(时间)按大小排序
timeLen = len(listLrc)#读取出列表数量,即打印时循环多少次
timeFree = 0 #定义暂停时间
count = 0
for i in listLrc: #循环列表中的值,也就是字典中的key,
timeFree = i -count #得出暂停时间
time.sleep(timeFree) #暂停
#print(dictLrc[i]) #打印出歌词
#scr.delete(1.0 END)#先清空旧歌词
scr.insert(ENDdictLrc[i]+‘\n‘)#再加入新歌词
wd.update()
count = i #将上一个时间赋值给count,下一次循环继续使用
#将时间转换为秒
def revertTime(time):#传入的为字符串格式的
time1 = time
timeList = time1.split(“:“)#以:将时间拆分为分 和 秒
return round(float(timeList[0]) * 60 + float(timeList[1])2) #返回时间为秒,保留两位小数
#从文件家中读取歌词
def getLrc(path):
rf = open(path“r“errors = “ignore“)
getlrc = rf.read()
rf.close()
return getlrc #返回为字符串
#拆分应该转换成字典类型,以时间为key,歌词为value
def splitStr(getstr):#接收的为字符串
global dictLrc #创建字典类型
getStr = getstr
count = 0 #获取该单词需要输出几次
for i in getStr: #以][ ] [ 进行拆分
if i ==“[“:
count +=1
#注意替换顺序不能变,先替换“][“在替换单个的,否则可能出现两个**
getStr = getStr.replace(“][““*“)
getStr = getStr.replace(“[““*“)
getStr = getStr.replace(“]““*“)
lineLrc = getStr.split(“*“)
for i in range(1count+1): #循环多次,得到多个key值
#将时间转换成秒的格式
LrcTimes = revertTime(lineLrc[i]) #调用转换时间的函数,此时key为秒
dictLrc[LrcTimes] = lineLrc[-1] #将列表最后一个歌词复制给字典key
#打印歌词函数
def printLrc(lrc):
lrc1 = lrc
for i in lrc1: # i 为字符串歌词
splitStr(i) #调用拆分函数
lrc = getLrc(pathq)#字符串类型
listLrc = lrc.split(“\n“)#以换行符将字符串拆分成列表
printLrc(listLrc)
lrcTime(dictLrc)
###################模块开始###################################
#声明变量部分#声明变量部分#声明变量部分#声明变量部分#声明变量部分
#歌曲名字 变量
varlabelmusicname=StringVar()
varlabelmusicname.set(“歌曲名字“)
#音量大小数字 变量
varlabelVoice=StringVar()
varlabelVoice.set(“音量大小 0.0“)
#声明变量部分#声明变量部分#声明变量部分#声明变量部分#声明变量部分
###################模块结束###################################
#其他函数#其他函数#其他函数#其他函数#其他函数#其他函数#其他函数
#找到MP3 返回一个列表
def find(pathx=[]s=‘.mp3‘):
wd.update()
if not os.path.isdir(path):
return
for i in os.listdir(path):
file=os.path.join(pathi)
if os.path.isdir(file):
find(files)
elif str(os.path.splitext(file)[1])==s
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11102 2018-11-22 22:31 歌词滚动\newMusicPlay.py
文件 1630 2018-11-22 22:05 歌词滚动\测试歌曲\Five Hundred Miles.lrc
文件 8285730 2018-11-21 22:05 歌词滚动\测试歌曲\Five Hundred Miles.mp3
文件 664 2018-11-22 21:29 歌词滚动\测试歌曲\张瑶 - 遇见.lrc
文件 2426631 2017-11-14 08:32 歌词滚动\测试歌曲\张瑶 - 遇见.mp3
文件 1643 2018-11-22 22:07 歌词滚动\测试歌曲\魏晨-疯人愿.lrc
文件 2217844 2018-03-16 19:38 歌词滚动\测试歌曲\魏晨-疯人愿.mp3
目录 0 2019-01-06 15:52 歌词滚动\测试歌曲
目录 0 2019-01-06 15:52 歌词滚动
----------- --------- ---------- ----- ----
12945244 9
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论