标题: [游戏娱乐] 批处理播放器 BatMPlayer V12.0 圣诞测试版 [打印本页]
作者: cjiabing 时间: 2010-10-9 21:33 标题: 批处理播放器 BatMPlayer V12.0 圣诞测试版
批处理播放器 【 BatMPlayer V12.0 圣诞测试版 】
2011年12月23日,上传测试版到附件,请下载附件测试!有意见请留言!
前几个月一直在对其大修,终于修成正果了,(*^__^*) 嘻嘻……
链接: https://pan.baidu.com/s/1ExnS7jEC1glz4A52JDxxgg 提取码: cs85
下一步工作计划:
1、过些时候闲了再进一步完善自动下载歌词,这个是必须的;
2、考虑删掉那些花哨的东西,制作一个单纯的批处理程序;
3、学习第三方syxq.com等的应用,使得BatMPlayer更豪华!估计是很久以后的事情了。
----------------------------------------------------------------------------------------------------
可以播放音乐和电影,还可以执行其他任务。界面华丽,功能强大。
主程序全部为纯批处理,个人原创。
批处理游戏、万年历等为其他作者所有。
★借用netbenton兄的歌词下载,实现歌词下载,但没有优化,可能有些下载了无法匹配。
★集成打包,解压缩即可自动安装。无毒!
★增加注释,方便阅读和维护。
以下为主菜单界面,可以了解下:
◇菜 单◇
—————————————————————————————————————
★ 播放歌曲→进入【B】播放【BG】结束【QQ】;
→播放模式:歌词【BG】后台【BH】背景【BJ】随机循环【BR】;
→播放列表:查看【PL】编辑【PLL】播放【PLB】排序【PLP】。
★ 搜索文件→进入【F】搜索命令【F /s 路径名 搜索词】。
★ 设置选项→进入【P】基本选项【P】配置选项【PP】应用选项【V】。
★ 工具辅助→进入【T】定时关机、清理垃圾、万年历等。
★ 游戏娱乐→进入【G】五子棋、俄罗斯方块等。
★ 使用帮助→进入【H】全局热键【HK】关于【H H】;
→设置选项说明【H P】定时任务说明【H S】全局热键说明【H K】;
→播放模式说明【H B】歌词使用说明【H L】通用搜索说明【H F】;
→播放器命令参数说明【H O】;
★ 菜单导航→进入【M】快捷菜单【MM】返回上一层菜单【Q】。
—————————————————————————————————————
----------------------------------------------------------------------------------------------------
下载:最新版本及完整安装包,包含主程序和其他必要的附件。
http://dl.dbank.com/c04a3gb8pu
因文件较大,无法在论坛附件更新。
安装:集成打包,自解压缩和自动安装。如不需要自动安装,请手动解压缩。
主程序BatMPlayer可以独立运行。使用【P】命令进入安装【AZ】。
所有安装均可正常卸载【P】,没有对系统进行多余操作,可放心使用。
360对BAT文件报毒是公开歧视批处理,假如你认为本程序有病毒可以拒绝使用。
其他:语音朗读需安装中文语音插件,因文件较大,附件内并未带有。
附一个中文女音TTS下载:http://cjiabing.qupan.cc/6543926.html
附件内第三方为批处理游戏附带的,假如不放心可以不使用,也不影响主程序功能。
程序开源,可以自己查看和修改代码。目前有注释,注意变量引用。
问题:netbenton兄的俄罗斯方块游戏可能无法调用,五子棋的颜色对比不显眼,还需netbenton 修改下。
颜色代码使用findstr生成,据说不是很可靠,但目前没有找到实用、效率和普遍性的可以替换。
假如出现错误,请不要使用【QQ】键,因为它会允许【mode】,有可能导致强制关闭其它程序。
排序功能,除了【PLP】,请他几个尚未检测过。
最后向netbenton 兄致敬!他的编程思路和技术都是超越于我们的,当我们都在玩《批处理数码雨》那种菜鸟级的技术时,netbenton 兄勇敢地为批处理开辟了一块又一块的沃土,现在,我们正沿着他的足迹,在他开辟的沃土里享受果实和喜悦。他的代码就像永恒的天空一样灿烂,那些思想犹如天马行空,那些结构犹如高山流水,那些变量犹如繁星点点……
实用、效率、自由、创造、好学、谦虚,这就是他给我们树立的榜样,向netbenton 学习!
----------------------------------------------------------------------------------------------------
作者: ubcc 时间: 2010-10-10 17:41
很不错的 播放器,学习了
作者: ubcc 时间: 2010-10-10 17:42
保存打开后才发现功能确实不错
[ 本帖最后由 ubcc 于 2010-10-10 17:43 编辑 ]
作者: cjiabing 时间: 2010-10-11 07:57 标题: 回复 3楼 的帖子
哈哈,路过看过不玩过的确实会很遗憾的哦!~
作者: cjiabing 时间: 2010-10-12 00:03 标题: BatMPlayer V6.6 歌词超强升级版
太爽了!~大家来享受下音乐吧!~体验下批处理做的动态歌词!~
没在其它机子测试过,有问题大家反映下!~-
- 部分代码在页面无法显示,请下载附件!————附件在图片底下
复制代码
修正了歌词模式,BatMPlayer V6.6 附件在图片下面。
想换一种颜色方案,但暂时没有找到一个通用、高效的。(当前的颜色方案有以下几个缺点:使用有限制,不支持部分字符串;速度慢,影响效果;需要人工干预来初始化,无法自动化;存在缺陷,部分机子无法正常使用。)
netbenton 的高速彩显syxq.com我一直无法通过测试,真是郁闷得紧!~
默认使用千千静听等播放器的歌词目录,需预先下载歌词到目录或歌曲所在目录。没有下载歌词功能,等待netbenton 的大作。没有歌词时返回主界面,使用【QQ】键退出后台播放。
假如歌词整体较快或较慢,请查找代码行“set /a rva=1000+!stma!-!vtma!-300>nul 2>nul”将“300”加大(提速)或减小(减速)。如非受其他进程干扰或者歌词本身时间有误,一般不会出错。- 歌词版更新历史:
- v6.6 2010.11.26 修改了歌词部分,变成:BatMPlayerMiniLyrics 星空版,尽量把花俏的界面变成主题突出的界面。郁闷,搞乱了一个变量,不懂在搜索MPLayer时是否会出错。歌词模式可以正常使用了,不会出错。
- v6.5 2010.11.25 修正了一些小问题,如录入程序部分,歌词播放部分等。颜色部分仍然无法修正。
- v6.3 2010.11.05 修正了一些小bug。完善动态歌词显示,但效率有待提高。修正歌词搜索,能够实现“歌曲名 - 歌手名.mp3”模式的匹配,但歌曲名含有部分英文括号时可能会发生意外退出。
- v6.1 2010.11.02 采用新的歌词显示办法,除了汇编sleep.exe延时外,不采用其它第三方。
复制代码
[ 本帖最后由 cjiabing 于 2010-11-29 02:10 编辑 ]
作者: aries215 时间: 2010-10-15 10:26 标题: 啊~~
好复杂~!头疼哦
强!
作者: cjiabing 时间: 2010-10-15 13:10
本帖最后由 cjiabing 于 2011-4-21 04:20 编辑
3.1版比较完善了,但仍没有进行广泛测试,大家帮忙测试下,有bug反馈一下,谢谢!~- 优点:
- 1、实时显示播放进度;
- 2、可以使用快捷键控制;
- 3、支持播放的格式多,可以播放视频;
- 4、支持自定义字幕;
- 5、播放快捷方便;
- 6、支持歌词播放;
- 缺点:
- 1、容易出现一些小故障;
- 2、需额外安装MPlayer程序(本程序使用暴风影音自带的MPlayer.exe)。
复制代码
- 更新历史:
- 2010.11.02
- v5.4 修正歌词匹配,使得歌词查找更加准确。
- 2010.10.31
- v5.3 修正输入和全盘搜索问题,完善歌词显示。
- v5.2 完善歌词功能,因搜索问题,有些歌词匹配不上。
- 2010.10.29
- v5.1 简化了网络搜索功能;添加了歌词功能,但只能是测试用,还未能达到netbenton写的那种效果。继续期待netbenton的歌词显示。
- 2010.10.25
- v4.4 修正找不到播放器以及播放背景音乐时发生的错误;修正自动关机。期待netbenton的歌词。
- 2010.10.20
- v4.3 修正找不到播放器时显示错误;修正文件搜索上的错误;添加网络音乐搜索;修正一些细节错误;没人帮忙测试和反馈,郁闷。
- 2010.10.20
- v4.1 去掉多余代码,进行全局代码优化,代码更精简高效;进行初步测试,改进可能无法找到播放器的BUG;
- v4.2 建立播放器参数设置项,尝试歌词显示项,但没有解决。
- 2010.10.17
- v3.5 添加CMD和BAT模块,可以编写批处理;修改一些细节,如快捷键。
- 2010.10.16
- v3.4 进一步优化,使得界面支持编写CMD和BAT;改善背景音乐播放部分。
- 2010.10.15
- v3.2 采用当前流行的色彩设置,美化界面;进一步进行测试,解决各种bug,美化代码。
- v3.1 全面更新代码,优化功能,添加注释。但尚未经过广泛测试。
- 2010.10.11
- v2.1 1、美化界面,添加背景音乐;2、添加播放循环模式;3、完善说明。
- 2010.10.10
- 1、改善界面;2、完善mplayer路径设置和自动搜索;3、修正帮助说明;4、考虑能否使用老板键;
- 2010.10.09
- 1、修正一些代码问题;2、增加方便各种快捷播放的输入部分;3、建立通用播放器模板,以便能支持MPlayer以外的播放器;4、尝试写歌词显示器。
复制代码
作者: netbenton 时间: 2010-10-20 04:10 标题: LZ,我帮你搞增加歌词显示的。
只做了播放单曲的。
楼主要是觉得可以就加入到里面吧,同时你的界面上色也要换换,用findstr来显示实在太慢了。
把mp3拖放到该批处理上,即播放,并同步显示同目录中同名的歌词文件 ??.lrc ,同时还有进度条显示。
所有按键和mplayer原来一样,没变。
[ 本帖最后由 netbenton 于 2010-10-20 04:14 编辑 ]
作者: cjiabing 时间: 2010-10-20 12:15 标题: 谢谢netbenton的支持
我已全部优化了代码,你看看是否比以前简单而且高效了!~虽然解释部分被我去掉了,过后我再补一篇文章介绍吧。
对于颜色我不是很熟悉,我也是拿来用用,觉得不错,我存有几种颜色方案,但不懂哪种效率比较高点!~请指点!~
一直都支持直接拖放啊,包括支持拖放音视频、文件夹、自动读取拖入的TXT文件列表——可使用搜索生成。——可能以前版本没有很好地解决这个问题,不过现在可以了,我亲自测试的。
至于按键——主要是播放时的基本控制键,那是MPlayer自己设置的,我无法改变,只是显示出来提醒大家。
最后,等我试了再你的歌词显示再做评论,不过非常感谢你的支持!~
虽然工作很忙,但我还是坚持把这件事情做完,有点玩物丧志的感觉!哎~
作者: cjiabing 时间: 2010-10-20 12:31 标题: 回复 10楼 的帖子
哇哇哇,爽歪歪!~非常棒!~
有个地方改进下:不支持在桌面播放,需检查下路径!~
再增加一个歌名分析的,也就是假如歌名是“谢霆锋 -- 边走边爱.mp3”,而歌词是“谢霆锋 边走边爱.lrc”,如何将它们关联起来?——更智能些!~
因为自己下载歌词有点麻烦,能否从TTPlayer那里“借用”?呵呵,学习研究用用。
晚点我再添加到播放器里面试试看,谢谢~!
作者: caruko 时间: 2010-10-20 21:09
这是MPlayer for windows的
是修改过,而且增加了外壳程序来控制的
很多命令行参数不支持,还有-slave模式..
linux下可以通过直接将命令写入管道文件来操作..
可以去官方下载命令行版,不仅CMD操作便捷,而且更效率,交互性也更好。
[ 本帖最后由 caruko 于 2010-10-20 21:43 编辑 ]
作者: cjiabing 时间: 2010-10-20 21:44 标题: 回复 13楼 的帖子
没办法,这个东东似乎本来就是linux的产物!~
刚更新成V4.2了,因为昨天把代码全部更新了,所以存在点小问题。
但没有你所说的问题。
你所指的输出播放信息是指输出到程序屏幕,还是指输出到TXT?播放器默认自动显示到屏幕的,可以看到许多数字——除了背景音乐。
——默认使用暴风影音里的mplayer,官网下载的好像是9M多,差不多,官网的直接是命令行版的。但本程序对两个都支持。只能一般使用,不能和linux比了,但在WINDOWS下已经相当不错了!~
[ 本帖最后由 cjiabing 于 2010-10-20 21:48 编辑 ]
作者: Batcher 时间: 2010-10-20 22:58 标题: 回复 13楼 的帖子
你说的“管道文件”是不是命名管道?
如果哪位能想办法让批处理支持命名管道,那就太棒了!
^_^
作者: cjiabing 时间: 2010-10-21 00:58 标题: 回复 15楼 的帖子
Mplayer另类在线播放影音文件技巧
http://hi.baidu.com/cjiabing/blo ... 75ffb8d1a2d3ea.html
在线播放rmvb文件:- wget -ftp://username: password@ftpserver/directory/movie.rmvb -O - | mplayer -cache 8192 -
复制代码
这个wget 是什么东东?
作者: caruko 时间: 2010-10-21 11:44
wget强大的是下载工具..
作者: caruko 时间: 2010-10-21 11:57
只是"命名管道",其实BAT可以做到相似的功能..
用AT /every:date[,...] 或者 /next:date[,...] 来区别命名..然后AT | FINDSTR 来查找
这样就可以做到多个CMD交换数据甚至命令, 还支持网络远程..
如果是I/O管道,大概写第3方也不太容易
作者: Batcher 时间: 2010-10-21 12:08 标题: 回复 18楼 的帖子
我觉得这个“相似”距离真正的命名管道还相差很远,呵呵。
作者: Batcher 时间: 2010-10-21 12:09 标题: 回复 16楼 的帖子
wget和curl都是比较强大的下载命令
http://bbs.bathome.net/thread-3981-1-1.html
作者: cjiabing 时间: 2010-10-21 12:15 标题: netbenton兄
netbenton兄,你那个代码不好处理啊。
把它放在开头,它只显示当前的播放,如果进行下一曲播放它会新建MPLAYER进程,而且原窗口代码变乱,播放不受控制。如果放到末尾,它就一闪而过。
你的代码太高深了,你帮忙改改:
因为你的代码只支持单曲播放,我想把它作为子程序调用,给它留了个标签“YRICS”,调用的播放子程序如下:- :PLAY_FILE
- CALL :PLAY
- !MPP! !INPUT!
- GOTO MAIN
复制代码
CALL LAY是调用播放时先调用的头部,用来显示一些公用信息。
!MPP! 是播放器路径名。
!INPUT!是在窗口输入的歌曲路径名。
MPlayer使用参数 -PLAYLIST 播放列表文件;
MPlayer似乎有一种不是基于帧而是基于时间的字幕,不懂能否改装成歌词,我对那些一窍不通……
[ 本帖最后由 cjiabing 于 2010-10-21 12:17 编辑 ]
作者: caruko 时间: 2010-10-21 12:32
linux下的MP支持通过管道写入命令..
比如得到当前播放时间是 get_time_pos
windows这个,我这个似乎有问题..
没法测试
作者: wuhengsi 时间: 2010-10-21 21:44
我确实很佩服老大的技术。。。。
不过我也觉得使用BAT来编写这种程序真的是折腾。。。
没有必要。。。浪费。。。其实换了用 VC 或 VB或C等都会简单许多
效果也好很多,质量也没有得谈拉。。。。
当然拉,会这些语言是一个前提咯
作者: Batcher 时间: 2010-10-21 22:18 标题: 回复 23楼 的帖子
可能楼主只是想巩固、提高一下自己的批处理知识吧
说不定楼主在其他语言方面也有很深的造诣呢
作者: cjiabing 时间: 2010-10-21 22:20 标题: 回复 23楼 的帖子
就像从上海到香港,有钱人坐飞机,我等穷人只好坐长途客车咯!~
就像人家说那女的很抽象,可你还是情人眼里出西施,爱的死去活来的!~
批处理,不过如此,你,也如此!~
作者: caruko 时间: 2010-10-21 22:56
脚本语言都如此了..
可以简单而又高效的完成某些操作任务..
简单的几行语句,完成繁复的任务。
不必象C一样,想写个简单的东西,都要先找来一大堆的库..
在系统高层上,脚本语言很有优势,但是底层的操作就经常无能为力了。
作者: cjiabing 时间: 2010-10-21 23:25 标题: 回复 26楼 的帖子
呵呵,看来你学得不少,向你学习。
我除了批处理其它的一窍不通,心里有想法,要表达出来,只能用这些简单的命令了,你说我不玩批处理玩什么呢?
批处理是简单,但有时候简单有简单的好处,这也是为什么这么多人对批处理感兴趣的原因吧!~
作者: netbenton 时间: 2010-10-22 09:12
回楼主,我已找到支持列表歌词的办法了,不过还有点问题,等解决了再发上来
作者: cjiabing 时间: 2010-10-22 12:04 标题: 回复 28楼 的帖子
收到!你厉害!慢慢搞,不急,我外出学习两天!
作者: caruko 时间: 2010-10-22 17:44
我写了一个歌词显示的.,支持暂停/继续,停止,上/下一首,拖拽到任意时间。
并且歌词是一个新的CMD窗口,不妨碍操作窗口。
但是,因为我这里MP问题,无法得到播放时间..
因此测试用的是系统时间相减..你可以更改部分代码,增加获取播放时间的代码。
以下代码不完全测试...
也还有不少问题,比如:
1, 没有支持毫秒,现在是精确到秒,抓系统时间然后计算毫秒增加不少负担,而且我使用的是findstr, 就算加上估计最多精确到0.3-0.5秒吧..
2, STOP,pause ,没有空闲CPU的指令,使用ping可能延迟有点高,所以一直在循环,造成CPU不小负担。
3, 毕竟CMD的,鼠标点击窗口 或者 非前台状态可能也会延迟。。。
控制命令如下:
@表示插入CMD语句,可用于退出,如@exit
$表示插入控制语句,
at 00:00 /next:1 @exit ;退出歌词秀
at 00:00 /next:1 @pause ;暂停歌词秀,输入健后才能继续
at 00:00 /next:1 $stop ;停止歌词秀
at 00:00 /next;1 $goto$02:03 ; 跟随播放进度,跳转到02:03秒
at 00:00 /next:1 $start$e:\aaa.lrc ; 直接开始播放aaa.mp3的时候加入,则加载新的歌词。如果是在暂停状态,则忽略参数开始继续暂停时间运行。
at 00:00 /next:1 $next$e:\aaa.lrc ;其实跟start差不多,用它是打算完善后用在播放列表功能上。- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- color 2b
-
- :main %1
- if "%1" == "" echo 歌词不存在! & goto :暂停
- for /f "tokens=1,2 delims=:[]" %%a in ('findstr "ti:" %1') do set _ti=%%b
- title=%_ti%
- for /f "tokens=1,2 delims=[]" %%a in ('findstr "[0-9][0-9]:[0-5][0-9]." %1') do set "#%%a=%%b"
- set 初始时间=%time%
- set /a 初始分=%初始时间:~3,2%
- set /a 初始秒=%初始时间:~6,2%
-
- :loop
- set 临时时间=%time%
- call :临时时间 %临时时间:~3,2% %临时时间:~6,2% %临时时间:~9,2%
- at |findstr "@" >nul && call :cmdd
- at |findstr "$" >nul && call :contrl
- for /f "tokens=1,2 delims==" %%a in ('set # ^|findstr "%ktime%"') do call :显示歌词 %%b
- goto :loop
- goto :eof
-
-
- :临时时间
- set varm=%1 & set vars=%2 & set varms=%3
- if %varm% LSS %初始分% (set /a varm=varm+60) 2>nul
- if %vars% LSS %初始秒% (set /a varm=varm-1 & set /a vars=vars+60) 2>nul
- set /a 临时分=varm-初始分 2>nul
- set /a 临时秒=vars-初始秒 2>nul
- IF %临时分% LEQ 9 set 临时分=0%临时分%
- IF %临时秒% LEQ 9 set 临时秒=0%临时秒%
- set ktime=%临时分%:%临时秒%
- goto :eof
-
- :显示歌词
- if NOT "%*" == "" cls
- echo.%*
- goto :eof
-
- :cmdd 插入命令行语句
- for /f "tokens=1* delims=@" %%a in ('at ^|findstr "[0-9]"') do at /del /y & %%b
- goto :eof
-
- :contrl 控制歌词,比如暂停,停止,下一首等。
- for /f "tokens=2,3 delims=$" %%a in ('at ^|findstr "[0-9]"') do (
- at /del /y
- echo %%b | findstr /i "pause" && goto :暂停
- echo %%b | findstr /i "next" && call :main %%c
- echo %%b | findstr /i "stop" && call :stop
- echo %%b | findstr /i "goto" && call :gt %%c
- )
- goto :eof
-
- :暂停
- title=%_ti% -- 暂停
- for /f "tokens=2,3 delims=$" %%a in ('at ^|findstr "[0-9]"') do (
- at /del /y
- echo %%b | findstr /i "pause" && call :暂停
- echo %%b | findstr /i "next" && call :main %%c
- echo %%b | findstr /i "stop" && call :stop
- echo %%b | findstr /i "goto" && call :gt %%c
- echo %%b | findstr /i "start" && goto :loop
- )
- goto :暂停
-
- :stop
- title=%_ti% -- 停止
- for /f "tokens=2,3 delims=$" %%a in ('at ^|findstr "[0-9]"') do (
- at /del /y
- echo %%b | findstr /i "pause" && call :暂停
- echo %%b | findstr /i "next" && call :main %%c
- echo %%b | findstr /i "stop" && goto :stop
- echo %%b | findstr /i "goto" && call :gt %%c
- echo %%b | findstr /i "start" && call :main %%c
- )
- goto :stop
-
-
- :gt mm:ss 参数为歌曲播放时间
- set ktime=%*
- goto :eof
复制代码
[ 本帖最后由 caruko 于 2010-10-22 18:11 编辑 ]
作者: netbenton 时间: 2010-10-23 22:52 标题: 搞到可以列表播放时显示歌词了
批处理多彩的mp3歌词器,支持列表播放时显示歌词。
请看本楼附件!!
增加了卡拉OK方式显示歌词
使用方法:
把:名列表 .txt 文件,或者,歌词名;可以多个;拖放到主批处理上即可播放。
首次运行会自动搜索环境:
mplayer.exe 的位置,以及歌词库路径,并保存到与批处理同名的.ini文件,免去下次再搜索。
所以首次运行较慢,保存有设置后,再次运行就快了。
特点:
1,改变进度亦可自动跟上进度
2,带进度条
3,智能匹配查找歌词,可以根据歌词信息及文件名搜索等多种方式。
4,识别重叠歌词格式,如:
[02:34.56][01:11.18]黑色笑靥掉了 雪白眼泪掉了
5,识别歌词内的作者信息
6,模拟卡拉OK歌词显示(当前行歌词逐字高亮)
7,小修改:增加文件中含有特殊字符的兼容性;在歌词还未开始时显示Waiting...
[ 本帖最后由 netbenton 于 2010-10-25 19:35 编辑 ]
作者: shujia 时间: 2010-10-24 11:54
需要mpplay.exe是吧
作者: cjiabing 时间: 2010-10-25 13:21 标题: 回复 31楼 的帖子
一下子给你整得那么强大了!~
不过有个问题,我这里干嘛提示没有找到歌词,没有匹配的歌词显示,但它下面又提示找到歌词,并且路径也对?-
- `i`lrcpath= "c:\Drivers\Camera\UsbCam\321\" "d:\Program Files\TTPlayer\Lyrics\" "f:\geci\" "f:\批处理之家论坛下载 _cmdlrc\"
- `i`mp=D:\mplayer\mplayer.exe
复制代码
这个"c:\Drivers\Camera\UsbCam\321\"似乎有点问题,文件夹里面只有一个vm321.lrc文件。
不认当前目录下的LRC
[ 本帖最后由 cjiabing 于 2010-10-25 17:48 编辑 ]
作者: cjiabing 时间: 2010-10-25 17:54
晕,我拿旧的那个附件cmdlrc也不得?!~
作者: netbenton 时间: 2010-10-25 21:27 标题: cmdlrc21
修正了不少BUG,
1,修正了2.0的有时漏行现象
2,修正有时歌词匹配不正确现象
3,改为如果文件夹的歌词文件不足3个时,不作为歌词库
4,修正按Esc有时不能退出的现象
作者: netbenton 时间: 2010-10-27 06:50 标题: 做到可以自动从网上下载歌词了!!!哈哈
智能匹配,在本地词库中在找不歌词时,就通过sogo引擎,从网上自动下载歌词,到cmdlrc的专用歌词目录。
哈哈~~这次真是大用收获了!!!!
不过需要 wget.exe 的支持
作者: cjiabing 时间: 2010-10-27 08:36 标题: 回复 37楼 的帖子
大哥,为什么我这里都显示不了啊?
新版本显示不了,旧版本的也显示不了——原来可以显示的。
给个解释!~
着急……
作者: netbenton 时间: 2010-10-27 10:58 标题: 回复 38楼 的帖子
我也想知道为什么会有的系统不正常,QQ上聊37659560
作者: cjiabing 时间: 2010-10-27 11:06 标题: 回复 39楼 的帖子
好的,晚上有空先!~
作者: cjiabing 时间: 2010-10-28 00:05
我还是那个想法,应该是在匹配歌词时出错,包括名称和内容。
比如《陈楚生 - 相忘于江湖》:
首先,程序搞乱了歌手和歌曲名,把《 - 陈楚生》当歌曲名,而把《 相忘于江湖》当成歌手名。
其次,本地有一个正确的歌词:《陈楚生 - 相忘于江湖.lrc》,程序没有匹配,而是自动下载了一个新的歌词:《相忘于江湖--陈楚生.lrc》——注意名称是颠倒的,但是,新歌词的歌词内容是错误的。
第三, 用本地歌词《陈楚生 - 相忘于江湖.lrc》的正确内容替换下载歌词《相忘于江湖--陈楚生.lrc》的错误内容,程序无法显示。即使只是该名称也不可以。
不懂是我这里的问题还是其他问题,你再检查下。
作者: cjiabing 时间: 2010-10-28 23:54 标题: 回复 37楼 的帖子
我搜索了一下。用VB写歌词的有好多,可我不懂VB!~
作者: pojiedos 时间: 2010-10-29 20:55
好强哦///////
作者: cjiabing 时间: 2010-10-31 21:41
废寝忘食将近一个月,实在辛苦!~
代码打印出来整整十三页!~
尽管还不够完善,因生活和工作压力只能到此为止了!~
技术上没有太大的新意和挑战,但通过这个项目,我也使出了浑身解数。
主要的问题在结构和细节上,到后来,只要修改一个地方,全盘都可能受到影响,得非常小心翼翼。
最浪费时间的就是测试。需要不停地检查错误——修正——再检查——再修正……,常常会浪费一天的时间。遗憾的是,没见有人帮忙测试,无法发现更多的BUG,从而无法使之更完善。
“以批处理的方式”,这是我做这件事情的出发点。以批处理的方式生活,有点我思故我在的意思。虽然现在好的播放器大把多,好的MPlayer的GUI大把多,但我喜欢自己写的BatMPlayer ,还可以显示歌词哦!~
昨晚,当我听小娟的《雪莲花》,看着BatMPlayer 显示的歌词,那美就像一首诗!~
[ 本帖最后由 cjiabing 于 2010-10-31 21:42 编辑 ]
作者: netbenton 时间: 2010-11-3 06:59
回楼主,
你贴出来的代码,我复制下来运行不了,
你自己在论坛复制一次运行看看是怎么回事。
作者: cjiabing 时间: 2010-11-3 15:23 标题: 回复 45楼 的帖子
哈哈,重大发现!~可以部分实现你的的功能哦!~
作者: cjiabing 时间: 2010-11-3 16:01 标题: BatMPlayer V6.1 歌词版:
可以定点、动态、彩色显示歌词!~——无意中发现的东东!~
看6楼图片和附件
不过还是不好把握!~
存在问题:
1、没有找到有效的“按任意键退出”,只好用判断进程,但非常耗时间,以至于退出的时候得等几秒钟!~这是当前最大的问题。
2、颜色显示的那段代码不支持一些常见的英文标点符号,导致乱码!~这个也是弊端!~
3、动态显示歌词功能部分没有很好的把握,导致偶尔延迟或出错。没空去研究原理,只是将就着用。
4、原来的时间计算有些小的误差(可能是起始时间没有计算),特别是在增加了其他功能之后,时间被延误好多!~
5、歌词信息部分,有时候只显示歌曲名,歌手名等没有显示,还没搞清楚什么原因。
作者: mysuperbat 时间: 2010-11-6 15:35
批处理也能做播放器,神啦!
作者: sarino 时间: 2010-11-9 10:24
楼主辛苦了,真厉害啊
作者: broly 时间: 2010-11-10 16:50
嗯,很强大的批处理。
作者: renshihong 时间: 2010-11-13 11:28
这东西太牛了。。一定要顶
作者: yuan6319 时间: 2010-11-17 01:22
膜拜楼主!学习先!!!
作者: vigiles 时间: 2010-11-17 12:15
很好很强大 这类高手是怎么炼成的?
作者: 6508as 时间: 2010-11-22 14:50
学习了。。。。。。。。。。。
作者: wxf3753 时间: 2010-11-24 18:57
如果没播放器,可以试下,不过界面有点粗糙!!!
作者: cjiabing 时间: 2010-11-25 01:13
没有播放器你根本试不了!
你用批处理写一个界面精致的怎么样?保证你名字载入批处理史册!
作者: cjiabing 时间: 2010-11-25 11:32 标题: 回复 1楼 的帖子
晕,523066680,你太夸张了吧!~在你们面前我是班门弄斧了!~
作者: taburiss 时间: 2010-12-13 20:05
这个东西牛了,厉害!
作者: 白手真三 时间: 2011-1-1 23:35 标题: 标题
真的是没有做不到,只有想不到
作者: greenworld 时间: 2011-1-2 14:38
膜拜啊...LZ强淫
作者: acaigg 时间: 2011-1-4 11:44
很强大,先支持再说。
作者: wuyinhou 时间: 2011-1-5 09:28
很好 很强大 支持
作者: wslqy 时间: 2011-1-10 10:20
真的是没有做不到,只有想不到
作者: liaobin 时间: 2011-3-31 21:25
LZ太强悍了,东西收下了
作者: jay_16 时间: 2011-4-2 12:15
为什么我这运行不了呀?郁闷
作者: gywhcj 时间: 2011-7-20 08:02
学习下,很不错
作者: 1_ta_7 时间: 2011-7-25 09:46
新手学习中..批处理很强大
作者: wrz99 时间: 2011-7-27 14:12
膜拜,膜拜一下!
能做成这样,服的五体贴地!
作者: wrz99 时间: 2011-7-27 14:13
忘了问,是否支持MKV格式,哈哈!
作者: CUer 时间: 2011-7-27 17:35
回复 72# wrz99
先试后问,哈哈!
作者: cjiabing 时间: 2011-7-27 18:05
回复 72# wrz99
试了下,是支持的。mplayer支持的格式还是比较多的。不过,因为版本影响,可能存在些差异。主要指暴风影音携带的版本和官方出厂的版本的差异。暴风影音可能要升级才有。
弄了半天,发现netbenton 的歌词下载失效了,可能被搜狗修改了,可怜。新版已经研究了几个月,在一个合适的时间里,将以一个更好的面目,和更强大的功能呈现出来!~
作者: wrz99 时间: 2011-7-27 19:07
回复 wrz99
试了下,是支持的。mplayer支持的格式还是比较多的。不过,因为版本影响,可能存在些 ...
cjiabing 发表于 2011-7-27 18:05
呵呵,那严重期待!
作者: scarcr 时间: 2011-8-6 01:46
看着就觉得不错。
作者: brqtpt007 时间: 2011-8-11 17:38
下了,就要顶起来
作者: netbenton 时间: 2011-10-12 21:55
批处理播放音乐动态实时显示bug已经改正,
自动下载歌词的功能也已经修复~~
有兴趣的朋友试一下~~
注意:
需要用到三方:wget.exe 和 MPlayer.exe,请自行下载~~~
作者: cjiabing 时间: 2011-10-13 12:56
回复 78# netbenton
好消息啊,我决定另外搞了,做一个和你的一样漂亮的!~
作者: ggehuliang 时间: 2011-12-22 20:47
Game.rar 在哪啊?
作者: cjiabing 时间: 2011-12-22 23:02
回复 78# netbenton
没注意兄弟已经修正了,我试试!十分感谢!
————————————————————————————————————————————
新版正在修订中,争取在元旦前公布,慢慢期待吧。
因为几次全部重新调整了代码,目前还差一些小问题有待修正。
作者: cjiabing 时间: 2011-12-23 01:12
回复 78# netbenton
555,netbenton,你的cmdlrc22.bat太令人感动了,我决定放弃单纯的bat,转入第三方制作!~
歌词匹配有个小问题,你把中间的当中歌名了,比如,johnny cash hurt.mp3,其中hurt才是歌名,而前面两个是人名。
歌词匹配有个优先级,以“Far away from home Groove coverage.mp3”为例,Far away from home是歌曲名,有四个字节,Groove coverage是歌手名,有两个字节,加起来总共有6个字节,那么,搜索的优先级应该是这样:
第一级:完全匹配
1、所有字符:Far away from home Groove coverage;——全名优先,最完美的匹配方案。
2、歌手名+歌曲名:Groove coverage + Far away from home ;——按照常见的MP3文件名格式优先;
3、歌曲名+歌手名:Far away from home + Groove coverage;——按照常见的MP3文件名格式优先
第二级:高度匹配
1、一种模糊而确定的游戏办法就是多采用字符:
1+3+5+最后一个:Far +from + Groove + coverage
2+3+5+最后一个:away + from +Groove coverage
2+4+6+最后一个:away + home + coverage
2、第一个字符+最后一个:Far + coverage;——采用前后部分组合确定法
3、第一个字符+中间的字符。比较可靠的算法——采用固定位置与变动位置组合确定法
第一个字符+倒数第二(三)个字符:Far + Groove
最后一个字符+顺数第二(三)个字符:coverage + away
第二级:模糊匹配
1、尝试间隔组合的模式,适合搜索英文单词较多的歌词;
1+3或1+4:Far + from 或Far + home;——这样几率就会稍微高点,而且一般英文姓名都控制在三个单词以内,容易实现。
2+4:away + home;——采用间隔的办法是比较有效的;
2+5:away + Groove;——这个间隔尽量控制在2到3之间,不宜太大。
2、一般两个字符连起来的成功率是会提高的,但它得到的无效结果也多,因此使用间隔以及两个字符以上的办法搜索。
1+2:Far + away;——当歌词库有大量某个歌手的歌词时,这个就不灵了,所以不只能放在这里。
第三级:元素匹配
逼不得已使用单独模式,适合搜索那些只有一个单词或词语的歌词,或者上面找不着谱的歌词。
一般采用头法或尾法,单独搜索开头或结尾;
也可以单独搜索中间的单词。
作者: netbenton 时间: 2011-12-23 16:54
cmdlcr22,只考虑了中文。不但从文件名中取歌名,而且mp3内有歌曲信息也可以取到。
作者: 331252240 时间: 2012-5-29 18:21
回复 5# cjiabing
太厉害了,学都学不会呀!
作者: 狱渊 时间: 2013-4-28 20:54
回复 1# cjiabing
好厉害
啊
作者: 112 时间: 2018-3-5 16:16
caruko说的对
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |