有这样一个想法
- yaoms
- 帖子: 4952
- 注册时间: 2007-10-19 14:51
- 来自: 深圳
- bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
- 联系:
以前就有个,不过这个搜索歌词的服务器好像加了限制,不能自动下载歌词了.但是显示没问题的,希望能找个好用的服务器,
代码: 全选
#!/bin/bash
TMPDIR=/tmp/lrcache
LRCDIR=/media/sda5/baidump3/lrc
STARTPLAYER(){
ps -e | grep mocp >> /dev/null 2>&1
if [ $? -ne "0" ] ; then
mocp -p
fi
return $?
}
GETNAME(){
echo `mocp -i | grep "^Title: " | sed -e "s/.*-\ //"`
# awk '{ gsub(/\.mp3|\.wma|\.MP3|\.WMA/,"",$NF);print $NF }'
}
DOWNLRC(){
[ -d $TMPDIR ] || mkdir -p $TMPDIR
NM=$(GETNAME)
echo $NM
SNM=`echo $NM | iconv -f utf8 -t gbk`
wget "http://lrc.bzmtv.com/so.asp?go=go&y=1&key=$SNM" \
-O $TMPDIR/$NM".tmp" >> /dev/null 2>&1
iconv -f gbk -t utf8 $TMPDIR/$NM".tmp" > $TMPDIR/$NM
egrep "> *$NM *<" $TMPDIR/$NM >> /dev/null 2>&1
if [ $? -ne "0" ] ; then
echo "not found "
rm -f $TMPDIR/$NM $TMPDIR/$NM".tmp"
sleep 15
else
URL=`awk -F"> *$NM *<" \
'{if (FLAG == 1 && $0 ~/lrc.gif/ ) \
{ h=index($0,"lrc_db");n=index($0,".lrc")-h+4; \
print substr($0,h,n);exit; \
}else if (NF > 1 ) FLAG=1 }' $TMPDIR/$NM `
URL="http://lrc.bzmtv.com/$URL"
[ -d $LRCDIR ] || mkdir -p $LRCDIR
wget "$URL" -O "$LRCDIR/$NM" ## >> /dev/null 2>&1
iconv -f gbk -t utf8 "$LRCDIR/$NM" > $LRCDIR/$NM".lrc"
rm -f $LRCDIR/$NM
echo "download success"
rm -f $TMPDIR/$NM
fi
}
READLRC(){
ifs=$IFS
IFS="NOTSPACE"
[ -d $TMPDIR ] || mkdir -p $TMPDIR
awk '! /(\] *.?)$|^( *)$|^[^\[]/' $LRCDIR/$(GETNAME)".lrc" | while read LINE
do
echo $LINE | awk -F"]" '{ \
if (NF > 2){ \
for (i = 1; i < NF; i++){ \
print $i"]"$NF; \
}
}else{ print $0; }\
}'
done | sort > $TMPDIR/$NM
IFS=$ifs
}
DISPLAY(){
NM=$(GETNAME)
LAST=""
N=1
LRC="$(< $TMPDIR/$NM)"
clear
echo -e "\033[;34m****** $NM ****** \033[0m "
echo " "
while [ true ] ; do
if [ $NM != $(GETNAME) ] ; then
NM=$(GETNAME)
while [ ! -s $LRCDIR/$NM".lrc" ] ; do
DOWNLRC
NM=$(GETNAME)
done
[ -s $LRCDIR/$NM".lrc" ] && [ ! -s $TMPDIR/$NM ] && READLRC
LRC="$(< $TMPDIR/$NM)"
clear
echo -e "\033[;34m****** $NM ****** \033[0m "
echo " "
N=1
fi
TM=`mocp -i | grep "CurrentTime" | sed -e 's/CurrentTime:\ //'`
[ "$TM" = "" ] && break
NOW=`echo "$LRC" | sed -n "/$TM/p" |cut -d"]" -f 2`
if [ "$NOW" != "" -a "$NOW" != "$LAST" ] ; then
N=`expr $N + 1`
if [ $N -ge "9" ] ; then
N=1
clear
echo -e "\033[;34m****** $NM ****** \033[0m "
echo " "
echo $LAST
echo " "
fi
LAST=$NOW
echo $NOW
echo " "
fi
sleep 0.3
done
}
[ "$1" = "reload" ] && rm -f "$TMPDIR/*"
clear
STARTPLAYER
NM=$(GETNAME)
echo $NM
while [ ! -s $LRCDIR/$NM".lrc" ] ; do
DOWNLRC
NM=$(GETNAME)
done
if [ -s $LRCDIR/$NM".lrc" ] ; then
READLRC
DISPLAY
fi
关注我的blog: ε==3
- solcomo
- 帖子: 2838
- 注册时间: 2007-04-25 13:12
- xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
- 联系:
ls,我这儿写了一个可以下载lrc歌词文件的脚本,可以看看:viewtopic.php?t=120253&highlight=
- bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
- 联系:
- solcomo
- 帖子: 2838
- 注册时间: 2007-04-25 13:12
代码: 全选
#!/bin/bash
TMPDIR=/home/como/.lyrics/tmp
LRCDIR=/home/como/.lyrics
READLRC(){
NM="元若蓝 - 绿袖子.lrc"
ifs=$IFS
IFS="NOTSPACE"
[ -d $TMPDIR ] || mkdir -p $TMPDIR
awk '! /(\] *.?)$|^( *)$|^[^\[]/' $LRCDIR/$NM | while read LINE
do
echo $LINE | awk -F"]" '{ \
if (NF > 2){ \
for (i = 1; i < NF; i++){ \
print $i"]"$NF; \
}
}else{ print $0; }\
}'
done | sort > $TMPDIR/$NM
IFS=$ifs
}
DISPLAY(){
NM="元若蓝 - 绿袖子.lrc"
LAST=""
N=1
LRC="$(< $TMPDIR/$NM)"
# clear
echo -e "\033[;32m****** $NM ****** \033[0m "
echo " "
while [ true ] ; do
TM=`mpc | grep "/" | awk -F" " '{print $3 }' | awk -F"/" '{print $1}'`
[ "$TM" = "" ] && break
NOW=`echo "$LRC" | sed -n "/$TM/p" |cut -d"]" -f 2`
if [ "$NOW" != "" -a "$NOW" != "$LAST" ] ; then
N=`expr $N + 1`
if [ $N -ge "5" ] ; then
N=1
clear
echo -e "\033[;32m****** $NM ****** \033[0m "
echo " "
echo $LAST
fi
LAST=$NOW
echo $NOW
fi
sleep 0.3
done
}
READLRC
DISPLAY
但是文件名有空格就会报错
ambiguous redirect
怎么办....
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖
☠☯⚔
☣☦☃
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖
☠☯⚔
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
- bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
- 联系:
- solcomo
- 帖子: 2838
- 注册时间: 2007-04-25 13:12
-
- 帖子: 119
- 注册时间: 2007-04-09 12:19
- solcomo
- 帖子: 2838
- 注册时间: 2007-04-25 13:12
- bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
- 联系: