[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
看得出来,楼主是很用心写这段代码的!楼主的界面其实做的很好了,值得学习,仔细看了一下楼主的代码,了解了一下播放的机制,其实就是用主批处理生成一些需要显示和current_playing 使用的信息,然后调用 current_playing 进行播放,播放其实就是使用wmplayer.EXE 播放
我在看楼主的对播放歌曲进行同步的时候发现了会造成CPU浪费的情况,这是美中不足的地方,其使用的同步延时程序段如下
:delayed
set delay1=%1&&set /a delay2=%delay1%
set /a delay=!delay1!-!delay2!
set TotalTime=0
set NowTime=!time!
:_delay
set /a minute1=1!NowTime:~3,2!-100
set /a second1=1!NowTime:~-5,2!!NowTime:~-2!0-100000
set NowTime=!time!
set /a minute2=1!NowTime:~3,2!-100
set /a second2=1!NowTime:~-5,2!!NowTime:~-2!0-100000
set /a TotalTime+=(minute2-minute1+60)%%60*60000+second2-second1
if !TotalTime! lss !delay! goto _delay
goto :eof

主要意思就是取当前时间和处理过的歌曲长度进行对比,从而判断一首歌是否放完(然后taskkill wmplayer,再从列表里取下一首歌曲,如此往复)
在播放歌曲时候就不断的跑上边的程序段,不断的赋值!注意,是不断的,不是相隔多少毫秒,或者1秒然后进行判断歌曲是否应该已经放完了,所而是以最高的处理速度赋值,比较赋值比较赋值比较……CPU,呃,就浪费了,说到底,就是想说,在_delay里边加如 PING 来进行适当的延迟就可以解决CPU浪费的问题了。

TOP

返回列表