标题: [问题求助] 【已解决】怎么在同一个VBS中延时结束后台循环播放的音乐? [打印本页]
作者: doswork 时间: 2016-9-3 20:07 标题: 【已解决】怎么在同一个VBS中延时结束后台循环播放的音乐?
本帖最后由 doswork 于 2016-9-3 23:12 编辑
怎么在同一个VBS中延时结束后台循环播放的音乐?
如下是循环播放的代码,怎么让它在从开始运行起5分钟后自动关闭?(不知道调用什么来关闭……)- set player = createobject("wmplayer.ocx")
- player.url =".\123.mp3"
- do until wmp playState = 1
- wsh.sleep 3000
- player.url =".\123.mp3"
- loop
复制代码
作者: pcl_test 时间: 2016-9-3 20:56
方法一、使用主从方式监控
方法二、开始时记录当前日期时间,循环中不断获取并判断当前日期时间与开始时记录下的是否相差5分钟以上
另外你的循环播放也不对,别问我怎么实现
作者: ivor 时间: 2016-9-3 21:45
回复 1# doswork - 既效率、又简单的就是.......
- for i=0 to 100
- '这里加入要循环的代码
- next i
复制代码
作者: doswork 时间: 2016-9-3 21:47
回复 2# pcl_test
多谢版主提供方法,再慢慢摸索吧……
我只是想做一个简易的“定时休息”的功能,wmplayer.ocx具体参数还不知道
那代码也是找的代码小改一下,对短音乐来说效果达到“循环播放”,但一直循环没法停比较麻烦
作者: doswork 时间: 2016-9-3 21:54
本帖最后由 doswork 于 2016-9-3 22:03 编辑
回复 3# ivor
多谢回复,关键是for next 怎么用到那代码里? 直接套用会没有效果……
貌似只有那个代码才可以实现播放/循环播放,do ……loop 只是循环判断,但是如果去掉这个循环判断那代码也就不能打开音乐了。
如下代码效果还是不停的播放“123.mp3”,并不是播放5次“123.mp3”之后退出“播放器”- set player = createobject("wmplayer.ocx")
- player.url =".\123.mp3"
- for i=0 to 5
- do until wmp playState = 1
- wsh.sleep 3000
- player.url =".\123.mp3"
- loop
- next
复制代码
作者: doswork 时间: 2016-9-3 22:17
回复 2# pcl_test
版主,论坛有个小问题,第一次编辑帖子之后,第二次再编辑时内容却还是最原始的内容,没有更新,只得复制上一次修改的然后再编辑,比较麻烦…… 建议修改下这个小问题
作者: ivor 时间: 2016-9-3 22:31
回复 1# doswork
稍微改一下就行了,自动循环播放,超过20*3秒就结束- set player = createobject("wmplayer.ocx")
- player.url =".\123.mp3"
- for i=1 to 20
- wsh.sleep 3000
- if 1 = player.playState then
- player.url =".\123.mp3"
- end if
- next
复制代码
作者: doswork 时间: 2016-9-3 22:52
本帖最后由 doswork 于 2016-9-3 23:11 编辑
回复 7# ivor
多谢!
有点儿奇怪,我测试的音乐是3秒,设定 i=5 应该是响 5次 才对,实际123.mp3只播放了3次就停止了……
搞定了,还得用参数 settings.playCount:integer 才行- set player = createobject("wmplayer.ocx")
- player.url =".\123.mp3"
- for i=1 to 5
- wsh.sleep 3000
- if 1 = player.playState then
- player.url =".\123.mp3"
- end if
- next
复制代码
作者: pcl_test 时间: 2016-9-3 23:29
本帖最后由 pcl_test 于 2016-9-4 00:01 编辑
- Set wmp = CreateObject("wmplayer.ocx")
- dt = now
- Do
- wmp.URL = "123.mp3"
- Do Until wmp.playState = 1
- WSH.Sleep 1000
- If DateDiff("s",dt,now) >=20 Then
- flag = 1
- wmp.controls.stop() '延时20秒后关闭
- Exit Do
- End If
- Loop
- IF flag = 1 Then Exit Do
- Loop
- Msgbox "音乐已关闭"
复制代码
作者: pcl_test 时间: 2016-9-3 23:48
本帖最后由 pcl_test 于 2016-9-3 23:50 编辑
回复 8# doswork - Set wmp = CreateObject("wmplayer.ocx")
- For i=1 To 5
- wmp.URL = "123.mp3"
- Do Until wmp.playState = 1
- WSH.Sleep 1000
- Loop
- Next
- Msgbox "音乐已关闭"
复制代码
作者: 我来了 时间: 2016-9-4 11:55
我怎么没有这个 wmplayer.ocx 文件呢
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |