python实现简单实现歌词播放(有缺陷)

import time
musicLrc="""
[00:00:05]
[00:01:12]词:方文山
[00:03:20]曲:周杰伦
[00:07:30]塞纳河畔 左岸的咖啡
[00:12:41]我手一杯 品尝你的美
[00:15:05]留下唇印的嘴
[00:18:05]花店玫瑰 名字写错谁
[00:22:05]告白气球 风吹到对街
[00:28:15]微笑在天上飞
[00:35:05]你说你有点难追
[00:42:15]想让我知难而退
[00:53:50]礼物不需挑最贵
[01:00:13]只要香榭的落叶
[01:05:20]喔~营造浪漫的约会
[01:10:11]不害怕搞砸一切
"""
lrcDict={}#空字典
musicLrcList=musicLrc.splitlines()
#print(nusicList)

for lrcLine in musicLrcList:
# runCount=lrcLine.count(":")
lrcLineList=lrcLine.split("]")#切割时间
for index in range(len(lrcLineList)-1):#多个时间,循环次数
# 00:03:45 》》 3:45
timeStr=lrcLineList[index][1:]#提取时间字符串
timeList=timeStr.split(":")#将时间分冒号前一个,后一个
#:前面的乘60为一个浮点数,后面的为一个浮点数
time1=float(timeList[0])*60+float(timeList[1])
#时间为key,歌词为value
lrcDict[time1]=lrcLineList[-1]#歌词时间存入字典

#
allTimeList=[]
for t in lrcDict:
allTimeList.append(t)
allTimeList.sort()
#print(allTimeList)


'''
输入时间循环
while 1:
getTime = float(input("请输入时间"))
for n in range(allTimeList):
tempTime = allTimeList[n]
if getTime < tempTime:
break
if n == 0:
print("时间小")
else:
print(lrcDict[allTimeList[n - 1]])

'''
#自动循环播放歌词
getTime=0
while 1 :

for n in range(len(allTimeList)):
tempTime = allTimeList[n]
if getTime < tempTime:
break
lrc=lrcDict.get(allTimeList[n-1])
if lrc==None:
pass
else:
print(lrc)
time.sleep(1)
getTime +=1

猜你喜欢

转载自www.cnblogs.com/zlong123/p/10427187.html