代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Shell
】
播放歌曲,同步显示本地歌词
作者:
Colben
/ 发布于
2016/1/11
/
805
播放一首歌曲,同步显示本地歌词
#!/bin/bash #========================================= # Filename : music.sh # Filetype : Shell # Author : Colben # Create : 2016-01-03 23:59:15 #========================================= [ 1 -ne $# ] && echo "Usage: $0 media_file" && exit 1 IN=/dev/shm/mplayer_in OUT=/dev/shm/mplayer_out rm -f $IN mkfifo $IN MPID='' lrc=() function quit { kill -9 $MPID > /dev/null 2>&1 echo -e '\033[?25h' return 0 } trap "quit;exit 0" 2 3 15 function lrc_load { [ ! -f "$1" ] && return 1 while read line do positions='' substance="$line" while : do result=`expr "$substance" : "\(\\[[0-9][0-9]\\:[0-9][0-9]\\.[0-9][0-9]\\]\)"` [ -z "$result" ] && break position=`date -d"1970-01-01 08:${result:1:5}" +%s` positions="$positions $position" substance="${substance:10}" done for position in $positions do lrc[$position]="${substance:- }" done done < $1 return 0 } function play { lrc_load "${1%.*}.lrc" || cur_sub='No lrc found ...' mplayer -nogui -quiet -input file=$IN $1 > $OUT 2>/dev/null & MPID=$! echo 'get_time_length' >> $IN sleep 0.1 length=`tail -1 $OUT|cut -d'=' -f2|cut -d'.' -f1` echo -e '\033[?25l' while : do [ ! -d "/proc/$MPID" ] && break echo 'get_time_pos' >> $IN sleep 0.2 res=`tail -1 $OUT` expr match "$res" 'Exiting' > /dev/null && break expr match "$res" 'ANS_TIME_POSITION' > /dev/null || continue pos=`echo ${res#*=}|cut -d'.' -f1` echo -e "\033[2J\033[1;0H Playing `basename $1` ..." echo -e "\033[2;0H ${pos}/${length}" sub="${lrc[$pos]}" [ -n "$sub" ] && cur_sub="$sub" echo -e "\033[3;0H $cur_sub" done quit } play $1
试试其它关键字
播放歌曲
歌词
同语言下
.
判断用户输入的是否为IP地址
.
根据web访问日志,封禁请求量异常的IP,如IP在半小时
.
iptables自动屏蔽访问网站频繁的IP
.
批量修改服务器用户密码
.
监控httpd的进程数,根据监控情况做相应处理
.
创建10个用户,并分别设置密码,密码要求10位且包含大
.
Expect实现SSH免交互执行命令
.
输入数字运行相应命令
.
用shell打印示例语句中字母数小于6的单词
.
扫描主机端口状态
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Colben
贡献的其它代码
(
2
)
.
播放歌曲,同步显示本地歌词
.
终端播放音乐同步显示本地或网络歌词
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3