Board logo

标题: [其他] 批处理如何定时播放音乐? [打印本页]

作者: 红烧猪蹄    时间: 2013-2-3 15:43     标题: 批处理如何定时播放音乐?

批处理每间隔5秒播放当前目录下的音频文件一次,(不管音乐有多少分钟,立即播放下一首),该文件夹一共5个音频,播放随机,但不重复,播放5次以后就提示是否重新播放,或直接退出!本人在学外语,需要用到这样的工具,求各位大大们,光临下本贴啊!
作者: tmplinshi    时间: 2013-2-4 13:09

本帖最后由 tmplinshi 于 2013-2-4 13:13 编辑

需要下载 mplayer (http://kovensky.project357.com/b ... 0100211/mplayer.exe)
  1. @echo off
  2. setlocal
  3. set "path=%path%;%~dp0"
  4. REM 设置音乐所在文件夹
  5. pushd "F:\Music\Unconditional"
  6. :play
  7. REM 可以把 *.mp3 改成其他的格式,如 *.wav *.flv *.mp4 等。或者直接用 *。
  8. mplayer -shuffle -endpos 5 *.mp3
  9. set choice=
  10. set /p choice=播放完毕。是否重新播放[Y/N]?
  11. if /i "%choice%" == "y" (goto play)
  12. popd
  13. endlocal
复制代码

作者: 红烧猪蹄    时间: 2013-2-6 20:18

本帖最后由 红烧猪蹄 于 2013-2-6 20:25 编辑

回复 2# tmplinshi
非常抱歉,这几天在打扫,没空呢!用了版主给了代码,发现有点问题,只要播放的音频总时间不超过5秒,那么就会继续重复播放当前音频(这个没什么的),但是当时间到达5秒的时候,音频不会自动跳转,而是继续播放当前音频!希望版主能重新修正一下!
作者: tmplinshi    时间: 2013-2-6 20:33

我测试没有问题。你是从 http://kovensky.project357.com/b ... 0100211/mplayer.exe 下载的 mplayer.exe 吗?
作者: 红烧猪蹄    时间: 2013-2-6 20:50

本帖最后由 tmplinshi 于 2013-2-6 22:59 编辑

回复 4# tmplinshi


    嗯,直接点击下载的,可是是音频低于5秒的啊!音频超过5秒的就没问题,音频低于5秒的话,就会出现跳转不成功,然后重复播放当前音频
你可以试试下载我提供的音频就知道了,不断重复!
http://   pan.baid   u.com/share/link?shareid=251006&uk=2250118325
作者: cjiabing    时间: 2013-2-6 21:53

  1. @echo off & title 自动播放音频
  2. ::使用系统播放器wmplayer.exe,可以改成其他播放器。
  3. ::可以随机播放目录下所有音乐,不限五首。
  4. ::命令 ping /n 300 用于控制时间,5分钟即300秒。
  5. ::最好等待播放结束再关闭,否则请重新运行一次关闭后台播放。
  6. :input
  7. taskkill /f /t /im wmplayer.exe>nul 2>nul
  8. set /p input=    开始播放【Y】退出【N】
  9. if /i %input%==Y goto loop
  10. exit
  11. :loop
  12. cls&set num=0
  13. for /f "tokens=1*" %%i in ('cmd /v:on /c "@echo off&for /f "usebackq tokens^=*" %%a in (`dir /b *.mp3 *.wma`) do (echo ^!random^! %%a)"^|sort') do (
  14.     SETLOCAL ENABLEDELAYEDEXPANSION
  15.     set /a num+=1
  16.     echo [!num!] 正在播放 %%j
  17.     start /min "" wmplayer.exe "%%~fj"&&ping /n 300 127.0.1>nul&&taskkill /f /t /im wmplayer.exe&echo;
  18.     if !num! geq 5 goto input
  19. )
  20. goto loop
复制代码

作者: 红烧猪蹄    时间: 2013-2-6 22:35

回复 6# cjiabing


    感谢提供帮助,确实有效果了,不过还有点问题,播放时候,某些音频会再5秒内播放5次,但同样窗口,某些音频只能播放1次!请问下这个是什么问题,同样是上面回帖的那个地址的音频

ps也感谢tmp给我提供了代码!学习了!
作者: cjiabing    时间: 2013-2-6 22:52

回复 7# 红烧猪蹄


    我这里没有这种问题啊!是不是你把上面的代码加入到其他bat里面去了?
作者: tmplinshi    时间: 2013-2-6 22:59

回复  tmplinshi


    嗯,直接点击下载的,可是是音频低于5秒的啊!音频超过5秒的就没问题,音频低于 ...
红烧猪蹄 发表于 2013-2-6 20:50



我测试了你提供的音频,代码正常运行——
     随机播放完五个文件后,就会提示“播放完毕。是否重新播放[Y/N]? ”。输入 Y 再按回车,会重新随机播放。输入其他就会退出批处理。

(我测试的系统是 XP SP3 中文。)
作者: 红烧猪蹄    时间: 2013-2-7 09:12

回复 8# cjiabing

没有加到bat去,直接复制使用,5秒内音频某些会重复播放,某些就不会,你确定你测试的时候没有遇到过这样的问题吗?如果真的没有,多测试几次,我使用的是楼上提供的播放器mplayer.exe
作者: 红烧猪蹄    时间: 2013-2-7 09:15

回复 9# tmplinshi


    代码是正常运行,但是在同一窗口中,某些时候会重复播放5次,某些时候就只会播放一次,或者你在多测试几,我的是windows7 旗舰版
作者: cjiabing    时间: 2013-2-7 12:58

我换了几个音乐目录,甚至虚拟了一个目录都没有问题啊,再说,你用tmplinshi结果也是如此,看来是你的音频文件有问题,因为如果出现错误的话不可能出现如你描述的这种错误。

最大的可能就是,我使用的是系统自带的播放器wmplayer.exe ,而非你刚下载的命令播放器mplayer.exe,请你搞清楚!~
如果你确实要将wmplayer.exe 替换为mplayer.exe ,那么你要使用完整的路径名!~
作者: 红烧猪蹄    时间: 2013-2-7 16:34

本帖最后由 红烧猪蹄 于 2013-2-7 16:35 编辑

回复 12# cjiabing


    好吧,我测试过了,代码是没问题的,是播放器的问题,具体问题不清楚,我换回系统自带的就没问题了!不多放,不重放,随机放,哈哈,谢谢斑竹的帮助了!
如果tmplinshi用mplayer这个播放器没问题的话,就应该是该程序与windows7有些不兼容了!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2