我试图制作一个在后台播放音乐的批处理文件,例如this 但是,当我通过按X终止文件时,我发现音乐仍在播放。
这是一个很好的样本:
@echo off
set file=http://www.soundjay.com/button/button-2.mp3
( echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
echo Sound.URL = "%file%"
echo Sound.Controls.play
echo do while Sound.currentmedia.duration = 0
echo wscript.sleep 100
echo loop
echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000) >sound.vbs
start /min sound.vbs
我现在有3个问题。
它在.bat本身的目录中创建一个文件。
之后它不会删除它。
它一直播放直到结束然后终止后台程序,但是当我在命令提示符上按X时它不会终止它
答案 0 :(得分:1)
一种方式:
@Echo Off
set "file=http://www.soundjay.com/button/button-2.mp3"
( echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
echo Sound.URL = "%file%"
echo Sound.Controls.play
echo do while Sound.currentmedia.duration = 0
echo wscript.sleep 100
echo loop
echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000) >sound.vbs
start /min sound.vbs
:loop
set /p $Answer=Press X + Enter to stop ! :
if /i "%$Answer%"=="x" (
Taskkill /f /im "wscript.exe" >nul
del *.mp3
exit/b
)
goto:loop
编辑:
如果要流式传输文件,请使用VLC命令行选项。如果您想要%temp%
中的文件,可以将其移动或首先下载到%temp%
。
如果您希望单击[X]时音乐停止,只需替换:
start /min sound.vbs
与
cscript //nologo sound.vbs