中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 不用任何播放器实现后台播放声音,一行搞定
作者:
标题: 不用任何播放器实现后台播放声音,一行搞定 上一主题 | 下一主题
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『楼 主』:  不用任何播放器实现后台播放声音,一行搞定


mshta vbscript:document.write("<bgsound src='E:\audio\曹方我是认真的.mp3' loop='-1'>")
src可以是网络资源loop是播放次数-1表示循环,手机打的不知道有错没。

   此帖被 +7 点积分      点击查看详情   
评分人:【 s11ss 分数: +7  时间:2010-1-27 08:29




┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
2010-1-22 21:54
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
clamber
初级用户





积分 46
发帖 39
注册 2008-11-2
状态 离线
『第 2 楼』:  

谢谢!用得着.

2010-1-23 15:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


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

不错
但运行多几次任务管理器就添加了几个mshta.exe进程



2010-1-23 22:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jianluck1988
新手上路





积分 3
发帖 2
注册 2007-8-14
来自 北京
状态 离线
『第 4 楼』:  

有意思啊

2010-1-26 19:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qwd
初级用户





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

不错! 效果不错!精简 效果佳!

就是不知从哪关关闭 !只能结束进程了!
本来就是后台运行吗?不会有关闭按钮了!呵呵!

2010-1-26 20:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
nemon
贫困用户





积分 1
发帖 3
注册 2010-1-3
状态 离线
『第 6 楼』:  

是有出现多个进程的问题
还是挺不错的 支持









Cordless DrillsMakita Cordless DrillsBosch Cordless Drillscordless drill driver

2010-1-26 21:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


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

这个代码实际上是打开了一个HTML页面(我们看不到),这个页面里面会有背景声音;
而网页没关闭的时候 mshta.exe 就存在,声音停止了网页也不会自动关闭,于是就会残留进程;
因此我们只能手动将其关闭,
或者,由于没有事件,只能在代码里面加上一个固定的等待时间,之后自动关闭。
因为 vbscript 的 wscript 对象在 html 中不可用,所以不能用 wscript.sleep 来延时,改用 window 对象的 setTimeout

以我那首歌为例,长度是 3分06秒 ,即 186 秒,假设我要播放两遍之后结束 mshta.exe 进程,那么就是要在 372000 毫秒之后关闭,可以适当地等几秒,就取 375000 吧
mshta vbscript:execute("document.write ""<bgsound src='E:\audio\曹方我是认真的.mp3' loop='2'>"":window.setTimeout ""window.close()"",375000")
用 javascript 写起来更容易些:
mshta javascript:document.write("<bgsound src='E:\audio\曹方我是认真的.mp3' loop='2'>");window.setTimeout("window.close()",375000)
如果你不知道歌曲有多长,就把时间设的长一些,一般流行歌曲不会超过 300000 ms,即5分钟吧。

----------------------
2010.09.03 修改以适应有空格的路径
代码效果:

后台播放 "C:\Documents and Settings\issuser\桌面\music\incoming\EMINEM ft.NATE DOGG - Shake That.mp3" 两遍,但本程序 mshta.exe 会准时在 360000ms,即 6 分钟后自动结束。
mshta vbscript:execute("document.write ""<bgsound src='file:///"+Replace("C:\Documents and Settings\issuser\桌面\music\incoming\EMINEM ft.NATE DOGG - Shake That.mp3","\","/")+"' loop='2'>"":window.setTimeout ""window.close()"",360000")
[ Last edited by qinchun36 on 2010-9-3 at 18:39 ]



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

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


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



论坛跳转: