lrcdis是什么?lrcdis是一个外挂式显歌词的脚本,特点是简单易用,只需下载后做为普通脚本执行即可,可以自动检测播放器,无须以插件的方式另外安装。 目前支持的播放器有mpd, moc, audacious, amarok, exaile, quodlibet, rhythmbox, mplayer, JuK, qmmp, muine, banshee, xmms2。 目前支持 CLI,OSD,nitify,kdialog,fifo,title,echo等输出方式。 为了让大家对lrcdis有个直观的了解,上几张截图,所谓一图胜千言嘛。 GNOME下: 点击查看原始大小图片 KDE4.2下:
点击查看原始大小图片 KDE下的kdialog模式:
点击查看原始大小图片 如何使用该脚本?下载,解压,在播放器已经打开的情况下,直接运行该脚本即可(注意可执行权限)。 如果您的系统上已经有gnome-osd的话,不加任何参数应该会以osd方式显示歌词,否则会以cli方式显示。 为什么找不到歌词?首先要检测歌曲的ID3信息是否完整,是否乱码。其次要检查网络是否通畅。 有没有办法批量把歌词文件先下载到本地?当然有,如果你的歌曲文件都是 歌名-歌手.mp3 这样的形式的话,就很方便了,cd到歌曲所在目录,执行: for i in *.mp3; do lrcdis -d ${i%.mp3}; done如果名字不规范,但是歌曲的ID3信息规范的话还可以这样: for i in *mp3;do ar="`mid3v2 -l "$i" |grep TPE1 |sed 's/^.*=//'`"; ti="`mid3v2 -l "$i" |grep TIT2 |sed 's/^.*=//'`";lrcdis -d "$ti-$ar";done 注:上述命令要求 python-mutagen 包提供的 mid3v2 命令。 既可下载整个目录的歌词文件了。 以后离线播放也不用怕了。 怎么显示mplayer播放歌曲的歌词?要让lrcdis显示mplayer的歌词有点麻烦(不过咱linuxer不是就图个折腾么:)),安照下面的命令启动mplayer即可: mkfifo /dev/shm/{mfifo,ififo}
mplayer yourmusic.mp3 -msglevel all=4 -input file=/dev/shm/mfifo|while read a;do [ "${a//ANS/}" != "$a" ] && echo $a>/dev/shm/ififo ;done在kde4下使用plasma插件STDIN来输出歌词plasma插件STDIN,这个插件可以定时执行一个命令/脚本,然后将其结果输出到插件上。你只需将STDIN所执行的命令设定为: cat </dev/shm/lrcfifo 执行间隔为1秒即可(再短也没有了:(),然后让lrcdis以参数-f/--fifo运行。 下载地址: 1,STDIN:http://www.kde-look.org/content/show.php/STDIN+Plasmoid?content=92309 |

for i in `ls`; do lrcdis -d ${i%.mp3}; done建议改为for i in *mp3;do lrcdis -d "${i%.mp3}";done 如果名字不规范,但是id3规范的话还可以这样: for i in *mp3;do ar="`mid3v2 -l "$i" |grep TPE1 |sed 's/^.*=//'`"; ti="`mid3v2 -l "$i" |grep TIT2 |sed 's/^.*=//'`";lrcdis -d "$ti-$ar";done 注:上述命令要求python-mutagen
谢谢 xiooli 兄,已经加上了。 不过,难道你不知道你也可以修改本wiki页的?
使用时出现 awk: line 0: regular expression compile failed (bad class -- , [^] or [) 不知是何问题?
使用 以cli方式显示 正常; 安装gnome-osd后,不加任何参数应该会以osd方式显示歌词; 出现 ServerError?: <type 'exceptions.KeyError?'>: u'osd_vposition'
------------ ubuntu 8.10 ,kernel 2.6.27-13-generic; 软件包: gnome-osd 版本号: 0.12.2-1; lrcdis.r34.090313.tar.gz
我想参与开发,可以吗?
gnome-osd包fedora源中没有啊 xosd不是更普遍一些吗
我安装了gnome-osd,可是osd显示的时候提示: ServerError?: <type 'exceptions.KeyError?'>: u'osd_vposition' 这个是我的osd的问题吧?
我用的mocp,集成到mocp的命令上去了,但是一按下启动lrcdis,就会退出mocp,进入终端,怎么解决.
可以考虑支持以下apev2 好像这个乱码少
@xi.qh1980: 先说说你是怎么集成的? @jinhongf@foxmail.com: 歌也少,呵呵。
能不能在歌词版本不对的时候,让它换个下?
不知道可不以以考虑支持deadbeef(类似win平台的foorbar2000的一个播放器)?
我的环境是FC16,播放器为 Banshee2.0 , 打开 lrcdis 的时候提示
错误: 未发现被支持的播放器进程!
请问这是什么原因导致的?如何解决?