Python零基础学习代码实践 —— 模拟播放器中的歌词显示

  1. 云栖社区>
  2. 博客>
  3. 正文

Python零基础学习代码实践 —— 模拟播放器中的歌词显示

我是jjking 2019-01-22 19:33:24 浏览922
展开阅读全文

import time
musucLrc = '''
[00:00.01]给我你的爱  
[00:02.01]林宥嘉,张杰 
[00:05.53] 作词:秋风
[00:09.83] 作曲:秋风
[00:14.90]
[00:15.65]相信我 在每个生命的路口
[00:20.98]在每个无助的时候
[00:24.75]都有对爱的渴求
[00:30.47]我想把 真的爱向你传达
[00:36.53]无论你在海角天涯
[00:39.52]都能感到 我的牵挂
[00:44.28]请给我你的爱
[00:47.84]请伸出手来传递这信赖
[00:51.54]就在这茫茫人海
[00:53.79]真心的爱 让世界变色彩
[00:59.02]请给我你的爱
[01:02.45]让我们用爱改变着未来
[01:06.10]在每个艰难时刻
[01:08.88]伸你的手 感觉真的爱
[01:14.81]牵着手 让我们静静地感受
[01:19.92]当风雨艰难过去后
[01:23.79]那种美好的自由
[01:29.29]我们都曾 错过幸福的意义
[01:34.77]只希望我还来得及
[01:38.45]去告诉你 真心爱你
[01:43.15]请给我你的爱
[01:47.39]请伸出手来传递这信赖
[01:50.42]就在这茫茫人海
[01:53.18]真心的爱 让世界变色彩
[01:57.72]请给我你的爱
[02:01.53]让我们用爱改变着未来
[02:05.19]在每个艰难时刻
[02:07.86]伸你的手 感觉真的爱
[02:14.27]我不再想要错过
[02:15.81]你的每个热切期待
[02:19.18]用爱 在明天到来之前
[02:22.56]向你大声说出爱~~爱
[02:29.44]请给我你的爱
[02:32.65]请伸出手来传递这信赖
[02:36.33]就在这茫茫人海
[02:39.08]真心的爱 让世界变色彩
[02:43.89]请给我你的爱
[02:47.56]让我们用爱改变着未来
[02:51.05]在每个艰难时刻
[02:53.96]伸你的手 感觉真的爱
[03:01.38]给我你的爱~~
'''
#将数据分解存储到字典里
lrcDict = {}
musicList = musucLrc.splitlines()

for lrcLine in musicList:
    #runCount = lrcLine.count(":")
    lrcLineList = lrcLine.split("]")
    for index in range(len(lrcLineList) - 1):
        timeStr = lrcLineList[index][1:]
        #print(timeStr)
        timeList = timeStr.split(":")
        timea = float(timeList[0]) * 60 + float(timeList[1])
        #print(timea)
        lrcDict[timea] = lrcLineList[-1]
#print(lrcDict)
allTimeList = []
for t in lrcDict:
    allTimeList.append(t)
allTimeList.sort()
#print(allTimeList)
#在字典里将数据调出来然后按照时间间隔将数据显示出来
#效果是一行一行的刷新
getTime =  0
while 1:
    for n in range(len(allTimeList)):
        tempTime = allTimeList[n]
        if getTime < tempTime:
            break
    lrc = lrcDict.get(allTimeList[n])
    if lrc == None:
        pass
    else:
        print(lrc)
    if n in range(len(allTimeList) - 1):
        time.sleep(allTimeList[n + 1] - allTimeList[n])
        getTime += (allTimeList[n + 1] - allTimeList[n])
    else:
        break

网友评论

登录后评论
0/500
评论
我是jjking
+ 关注