日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

python播放音乐同步歌词_linux 下 python 调用 mplayer 解析歌词同步播放显示

發布時間:2023/12/29 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python播放音乐同步歌词_linux 下 python 调用 mplayer 解析歌词同步播放显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標簽:

加載同目錄同名歌詞同步顯示

#!/usr/bin/python

#?-*-?coding:?utf-8?-*-

import?sys,?os,?time,?subprocess,?re,?chardet

def?load_lrc(lrc_file):

try:

lrc_contains?=?open(lrc_file,?‘rb‘).read()

encoding?=?chardet.detect(lrc_contains)[‘encoding‘]

if?‘utf-8‘?!=?encoding:

lrc_contains?=?lrc_contains.decode(encoding).encode(‘utf-8‘)

except?Exception,?e:

print?‘\033[4;0H\033[K\tNo?lrc?or?in?encoding?found‘

return?{}

lrc?=?{}

for?eachline?in?re.split(r‘\n‘,?lrc_contains):

line?=?re.split(r‘]‘,?eachline)

if?1?

for?tm?in?line[0:-1]:

try:

time?=?re.match(r‘(\d\d)\s*:\s*(\d\d)‘,tm.strip(‘?[‘)).groups()

pos?=?60*int(time[0])?+?int(time[1])

lrc[pos]?=?line[-1]

except?Exception,?e:

#print?‘\033[4;0H\033[K\tLrc?fromat?error‘

#lrc_fp.close()

#return?{}

pass

#lrc_fp.close()

return?lrc

def?main(song):

print?‘\033[2J\033[2;0H\tPlaying?%s?...‘%song[:60]

p?=?subprocess.Popen(‘mplayer?%s?2>/dev/null‘%song,?stdout?=?subprocess.PIPE,?shell?=?True)

while?True:

match?=?re.match(r‘A:.*[\d:.()]*?of?(\d+)‘,?p.stdout.read(30))

if?None?!=?p.poll():

print?‘\033[9;0H\tFailed?to?recognize?file?format?.‘

return?1

if?not?match:

output?=?p.stdout.readline()

else:

tot_time?=?int(match.group(1))?-?1

for?jump?in?range(1,?10):

if?70?>=?tot_time/jump:

break

#print?‘\033[15;0H\ttotal?time:?%d‘%tot_time

break

print?‘\033[?25l‘

lrc?=?load_lrc(os.path.splitext(song)[0]?+?‘.lrc‘)

while?True:

cur_char?=?p.stdout.read(1)

if?‘A‘?==?cur_char:

try:

cur_time?=?int(p.stdout.read(5)[1:])

print?‘\033[6;0H\033[K\tCurrent?%d?/?Total?%d‘%(cur_time,?tot_time)

print?‘\033[1;0H‘,?‘-‘*(tot_time/jump)

print?‘\033[1;0H‘,?‘=‘*(cur_time/jump)

print?‘\033[7;0H‘,?‘-‘*(tot_time/jump)

print?‘\033[7;0H‘,?‘=‘*(cur_time/jump)

if?tot_time?<=?cur_time:

print?‘\033[8;0H\033[K\tquit‘

break

print?‘\033[4;0H\033[K\t%s‘%lrc[cur_time]

except?Exception,?e:

#print?‘\033[17;0H\tERROR:‘,?e

pass

elif?‘E‘?==?cur_char:

print?‘\033[8;0H\033[K\tquit‘

break

p.wait()

print?‘\033[10;0H\033[?25h‘

return?0

if?‘__main__‘?==?__name__:

if?2?!=?len(sys.argv)?or?not?os.path.isfile(sys.argv[1]):

print?‘\nUsage:‘,?sys.argv[0],?‘{exist?music?filename}\n‘

else:

main(sys.argv[1])

標簽:

總結

以上是生活随笔為你收集整理的python播放音乐同步歌词_linux 下 python 调用 mplayer 解析歌词同步播放显示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产最新视频 | 国模无码视频一区二区三区 | 日本成人午夜视频 | 人人爽久久涩噜噜噜网站 | 天堂在线成人 | 一区二区三区伦理 | 日韩欧美一二区 | 二区在线播放 | 男人和女人在床的app | 亚洲不卡网 | 国产成人福利在线 | 亚洲国产欧美一区 | 奇米色婷婷 | 精品无码一区二区三区爱欲 | 亚洲色图14p | 另类在线视频 | av免费大全| 一本久道视频一本久道 | 国产偷v国产偷v亚洲高清 | 男女激情久久 | 亚洲无吗在线 | 1024金沙人妻一区二区三区 | 性色AV无码久久一区二区三 | 女同久久另类69精品国产 | 欧美激情 亚洲 | 黄色片美女 | 国产91在线观看 | 亚洲精品国产suv一区 | 91丝袜呻吟高潮美腿白嫩在线观看 | 美女露出让男生揉的视频 | 乱中年女人伦 | 先锋影音一区二区三区 | 香蕉影院在线观看 | 久久国产精品首页 | 欧美xxxx胸大 | 亚洲高清中文字幕 | 色噜| 欧美精品久久久久久 | 日韩爆操 | 奇米精品一区二区三区在线观看 | caopeng在线视频 | 欧美午夜精品一区二区三区电影 | 欧美日韩在线二区 | 捆绑裸体绳奴bdsm亚洲 | 欧美三级在线视频 | 国产女人18毛片水真多1 | 国产成人a v | www.中文字幕 | 蜜臀在线观看 | 国产精品无码成人网站视频 | 国产黄色片av | 久久久一区二区 | 免费毛片小视频 | 精品一卡二卡 | 国产一区99 | 夜夜操影视 | 亚洲国产精品视频一区二区 | 亚洲天堂五码 | 免费欧美黄色 | av字幕在线 | 亚洲av毛片一区二二区三三区 | 99久久精品无免国产免费 | 能看的毛片 | h片免费网站| 一级aaa毛片| 中国一级大黄大黄大色毛片 | 国产精彩视频在线观看 | 天天综合网久久 | 日韩熟女精品一区二区三区 | 欧美乱码视频 | 国产精品丝袜黑色高跟鞋的设计特点 | 亚洲区视频在线观看 | 屁屁影院第一页 | 亚洲天堂中文在线 | 粉嫩av一区二区三区免费观看 | 91精品人妻一区二区三区蜜桃2 | 大奶骚| 国产精品久久久久久久久久久久久久久久久 | 又紧又大又爽精品一区二区 | 国偷自拍 | 精品人妻人人做人人爽 | 国产精品久草 | 精品久久久久国产 | 国产成人三级一区二区在线观看一 | 浮力影院国产第一页 | 国产精品国产三级国产aⅴ9色 | 欧美日本韩国一区二区三区 | 国产美女在线播放 | 在线观看视频www | 成人免费看av | 99香蕉视频 | 亚洲精品乱码久久久久久蜜桃欧美 | 在线视频第一页 | 精品处破女学生 | 在线亚洲免费 | 国产精品乱子伦 | 在线观看亚洲国产 | 国产欧美一区二区三区在线老狼 | 天堂婷婷 |