中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 12:30
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » 不用任何播放器实现后台播放声音,一行搞定
可打印版本  2,086 / 6
第1楼 qinchun36 发表于 2010-01-22 21:54
高级用户 发帖 400 积分 609
不用任何播放器实现后台播放声音,一行搞定
src可以是网络资源loop是播放次数-1表示循环,手机打的不知道有错没。
第2楼 clamber 发表于 2010-01-23 15:32
初级用户 发帖 39 积分 46
谢谢!用得着.
第3楼 radem 发表于 2010-01-23 22:09
高级用户 发帖 383 积分 691
不错
但运行多几次任务管理器就添加了几个mshta.exe进程
第4楼 jianluck1988 发表于 2010-01-26 19:39
新手上路 发帖 2 积分 3 来自 北京
有意思啊
第5楼 qwd 发表于 2010-01-26 20:01
初级用户 发帖 56 积分 161
不错! 效果不错!精简 效果佳!

就是不知从哪关关闭 !只能结束进程了!
本来就是后台运行吗?不会有关闭按钮了!呵呵!
第6楼 nemon 发表于 2010-01-26 21:35
贫困用户 发帖 3 积分 1
是有出现多个进程的问题
还是挺不错的 支持









Cordless DrillsMakita Cordless DrillsBosch Cordless Drillscordless drill driver
第7楼 qinchun36 发表于 2010-01-27 10:08
高级用户 发帖 400 积分 609
这个代码实际上是打开了一个HTML页面(我们看不到),这个页面里面会有背景声音;
而网页没关闭的时候 mshta.exe 就存在,声音停止了网页也不会自动关闭,于是就会残留进程;
因此我们只能手动将其关闭,
或者,由于没有事件,只能在代码里面加上一个固定的等待时间,之后自动关闭。
因为 vbscript 的 wscript 对象在 html 中不可用,所以不能用 wscript.sleep 来延时,改用 window 对象的 setTimeout

以我那首歌为例,长度是 3分06秒 ,即 186 秒,假设我要播放两遍之后结束 mshta.exe 进程,那么就是要在 372000 毫秒之后关闭,可以适当地等几秒,就取 375000 吧

用 javascript 写起来更容易些:

如果你不知道歌曲有多长,就把时间设的长一些,一般流行歌曲不会超过 300000 ms,即5分钟吧。

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

后台播放 "C:\Documents and Settings\issuser\桌面\music\incoming\EMINEM ft.NATE DOGG - Shake That.mp3" 两遍,但本程序 mshta.exe 会准时在 360000ms,即 6 分钟后自动结束。


[ Last edited by qinchun36 on 2010-9-3 at 18:39 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023