中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 类似千千静听的歌词播放 QQ:309254515-趣味东制作
作者:
标题: 类似千千静听的歌词播放 QQ:309254515-趣味东制作 上一主题 | 下一主题
qwd
初级用户





积分 161
发帖 56
注册 2007-10-1
状态 离线
『楼 主』:  类似千千静听的歌词播放 QQ:309254515-趣味东制作

  
适时加亮播放歌词 在附件中请下载;以下代码没有加亮功能!

  创建自监控代码竟没人回贴,还有几处都很经典都没人有回应。太伤感了!谁发的99乘法表都好多人看贴和回帖。其实那个我早就做过并没发贴,感觉没多意思!关于tab排版的我早几年都清楚,多行回退有知道不?竟有人还为那点小知识贺彩,真是悲哀!真有点怀疑浏览者的水平!

还有刚刚完成就有人还提议要自动下歌词,不知自动下载怎么搞 谁发个代码学习学习!肯定要下网络歌词的!不是ftp那种吧!


::版权所有 趣味东::
@echo off&color 2e&mode con cols=60 lines=30
setlocal enableDelayedExpansion&title 歌词播放 QQ:309254515-趣味东制作 !time!
set/a"1/%1"2>nul||start /min mshta vbscript:createobject("wscript.shell").^
run("""%~nx0"" 1",0)(window.close)&&exit
set/a"1/(%1-1)"2>nul||(start /max /wait "" %0 2&cmd/c "del/a/f q.wd"
taskkill /f /im "mshta.exe" /im "cmd.exe" &exit)

for /l %%i in (1 1 50) do set ht=!ht!&set kg=!kg!
set cl=013456789abcdef
:hom
echo.请将有歌词(.lrc)的任意音乐托曳至此窗口^!
set/p mp=歌曲:
set bg=!mp:"=!
set mp="!bg!"
set lrc=!mp:~,-4!lrc"
echo.
if not exist !lrc! set/p lrc=歌词(*.lrc):

:收集时间段
for /f "delims=" %%i in ('type %lrc%') do (2>nul set str=%%i
if "!str:~,1!" equ "[" (call:t) else set/p=%%i<nul&echo.)

:排列时间段
:echo %tns%
:for /f %%i in ('for %%j in ^(%tns%^) do @echo %%j^|sort') do echo.%%i太慢 -不能排列
(for %%j in (%tns%) do @echo %%j)|sort /o q.wd
set tns=

:后台播放
start mshta vbscript:document.write("<bgsound src='!bg!' loop='1'>")

call:c 0
:延迟播放,排列后计算时间差做延迟
for /f "tokens=1-3 delims=. " %%i in ('type q.wd') do (
   set/a c="(1%%i*60+1%%j)*100+1%%k-610100"
   set/a t0="(1%time:~-8,2%*60+1%time:~-5,2%)*100+1%time:~-2%"
   call:c !c!
echo.         !%%i.%%j.%%k!)

call:c 1000
del /a /f /q q.wd >nul 2>nul
taskkill /f /im "mshta.exe" >nul 2>nul
echo.&goto hom
taskkill /im "cmd.exe"  >nul 2>nul
exit
------------------------------------------------------
:t
if "!str:~,1!" equ "[" (
if "!str:~1,1!" gtr "9" (
for %%j in (ti.歌曲 ar.演唱 al.专辑 by.作者 ) do (
if /i "!str:~1,2!"=="%%~nj" set str=!str:]=!&echo.               %%~xj - !str:~4!)
goto:eof)
if "!str:~1,1!" leq "9" set tn=!tn!!str:~1,8! &2>nul set str=!str:*]=!&goto t)
set tn=!tn::=.!
for %%j in (!tn!) do set "%%j=!str!"
set tns=!tns!!tn!
set tn=
goto:eof
------------------------------------------------------
:c
set/a t1="(1%time:~-8,2%*60+1%time:~-5,2%)*100+1%time:~-2%"
set/a tc=t1-t0
if !tc! lss 0 set/a tc+=360000
set/p=!ht!!time! !tc! %1<nul
if !tc! lss %1 goto c
set/p=!ht!!kg!!ht!<nul
goto:eof
------------------------------------------------------
[ Last edited by qwd on 2010-2-11 at 19:36 ]

   此帖被 +13 点积分      点击查看详情   
评分人:【 radem 分数: +1  时间:2010-2-5 16:53
评分人:【 qinchun36 分数: +2  时间:2010-2-5 17:10
评分人:【 bat-zw 分数: +8  时间:2010-2-5 17:37
评分人:【 sl543001 分数: +2  时间:2010-2-7 11:52


附件 1: 适时加亮播放歌词.rar (2010-2-7 06:21, 1.43 K,下载次数: 26)
2010-2-3 22:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qwd
初级用户





积分 161
发帖 56
注册 2007-10-1
状态 离线
『第 2 楼』:  

没人回贴就自己顶一下!
创建自监控代码竟没人回贴,还有几处都很经典都没人有回应。太伤感了!谁发的99乘法表都好多人看贴和回帖。其实那个我早就做过并没发贴,感觉没多意思!关于tab排版的我早几年都清楚,多行回退有知道不?竟有人还为那点小知识贺彩,真是悲哀!真有点怀疑浏览者的水平!


[ Last edited by qwd on 2010-2-5 at 04:46 ]

2010-2-5 04:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qwd
初级用户





积分 161
发帖 56
注册 2007-10-1
状态 离线
『第 3 楼』:  

第二版己完成!
适时加亮词句!
没人回贴也不好意思再发了!留着自己享用吧!

有几位高级大侠支持还是发一下吧!


考滤到坛子有时会屏有些字符还是发文件吧!

[ Last edited by qwd on 2010-2-7 at 06:17 ]

2010-2-5 05:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 4 楼』:  

呵呵,不要激动,个人感觉没人回帖可能有几个原因:
一个是代码很高深大家不怎么看得懂懂,因此在没搞清楚之前就不会轻易发表评论,说实话我就不会那个“多行回退”我就不会弄,还在看呢;
还有就是可能对你这个东西能达到的用处没有什么兴趣,因此不关注。

另外给你这个程序本身一些意见:
可以让 mshta.exe 在一定时间后自动结束,而不要手动去 kill 掉进程,因为我发现音乐最后有一点点没播放完,你既然能读到 歌词,那很容易就能得到歌曲的全长,根据此帖的 7楼 有说明很容易解决的
http://cn-dos.net/forum/viewthre ... ighlight=setTimeout
关于歌曲名有空格不能播放的问题我当初也没注意,只看了路径有没有空格,再研究研究

[ Last edited by qinchun36 on 2010-2-5 at 10:16 ]



┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
2010-2-5 10:00
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 5 楼』:  

支持楼主。
分享精神很好啊,不要灰心



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2010-2-5 10:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

“自监控代码”和“多行回退”分别在哪里帖子里面?能否给个URL学习一下?



2010-2-5 11:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 7 楼』:  

加分,以分担LZ的悲哀!
回应,以表示具有浏览水平



2010-2-5 16:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 8 楼』:  

好久没到cn-dos看贴了,今日看此“神贴”,不免讲两句子:

1、楼主共享的精神是值得赞赏的,希望继续发扬。

2、我想楼主大可不必为了没有赞扬之声而耿耿于怀吧,我想你发代码上来的主要目

的应该是为了和大家一起交流学习吧。

3、仔细 拜读了楼主的代码个人感觉技术水平还是有的,但没发现被楼主称之为“经

典”的代码段。

4、在哥伦布发现新大陆以前,这个新大陆确实是很神秘的,而且很多人的头脑中基

本上没有这个概念,放在现在来讲,发现这样一块大陆是多么容易的事啊。



批处理之家新域名:www.bathome.net
2010-2-5 17:36
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『第 9 楼』:  

说实在,发出来第二天,就要人回贴,有些太急, 这里的人又不都是学编程的,你那个自监控,说实在我没看懂(我就不懂vbs和mshta解释),不如贴出解释,我想回贴的人可能多着去了!

2010-2-5 17:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qwd
初级用户





积分 161
发帖 56
注册 2007-10-1
状态 离线
『第 10 楼』:  

谢谢几位的回贴,几位级别都挺高的! 难道只有高级别的大侠能看懂我这个初级小生写的代码?
谢谢4楼给我指点定时结束 mshta.exe 的代码。学习了延时关闭窗口。

2010-2-5 20:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qwd
初级用户





积分 161
发帖 56
注册 2007-10-1
状态 离线
『第 11 楼』:  

回复关于自监控代码
其实就是批自身先隐藏 再重启本身后如果强制结束做出相应的动作。达到监视自身的目的
代码就是 start 的/wait  参数 等待程序结束
在主贴里有这样的动作 有临时文件为sort排序加速, 如果没有自监控强制退出批时它会被保留,但现在有自监控就不一样了,只要强制退出就随时删除它。那个后台播放也同时被 kill 掉了!难道这不是起到自监控了吗?
刚好昨天关于这部分发了贴
http://cn-dos.net/forum/viewthread.php?tid=50180&fpage=1

[ Last edited by qwd on 2010-2-7 at 06:34 ]

2010-2-5 20:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qwd
初级用户





积分 161
发帖 56
注册 2007-10-1
状态 离线
『第 12 楼』:  

start /wait  看上去不占cpu资源 ,占一部分内存; 不是死循环!

2010-2-7 06:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『第 13 楼』:  

加油,最近俺在彩色界面上有点研究,回头合作一下,俺给你写个全彩界面
高处不胜寒啊,真正的神贴早就沉了,您还没沉,说明你不够还神.
咱是技术论坛,不是聊天论天,帖子的神否,不看回帖,看积分就好!
人家的推箱子,24点,递归之类的都用上了,不是一样沉底了吗!

[ Last edited by sl543001 on 2010-2-7 at 11:58 ]

2010-2-7 11:54
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复
bluewing009
新手上路

九影蓝翼



积分 18
发帖 18
注册 2009-11-27
状态 离线
『第 14 楼』:  

顶了~~  没有想不到,只有做不到。
  趣味东 即想到了,又做到了

我还在为怎么能监控播放进度发愁时,亲爱的你直接放掉选择播放,利用时间与lrc时间标志,完成的这个作品,  有点恍然大悟的感觉.....

2010-2-7 23:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: