我正在制作一个基于cmd文本的游戏,该游戏在后台运行音乐,但是每次我使用cscript运行命令时,它都不会进入菜单屏幕,但是如果我使用start命令来运行它,它将不会停止即使我退出了文件。这是命令:
@echo off
set "file=musicfilename.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
cscript //nologo sound.vbs
“ musicfilename.mp3”是mp3文件的名称
基于@ Stephan]的解决方案,可以最小化启动cscript
start /min cscript //nologo sound.vbs
我为您制作了一个有趣的脚本,例如:
@echo off
Mode 64,35 & color 0A
Title Play Music
Rem :: You can change easily your custom URL on this variable URL_Music
Set "URL_Music=http://94.23.221.158:9197/stream"
Rem :: Here we start cscript minimized to play music with URL as argument
Call :Play "%URL_Music%"
:::
::: __ __ _______ ___ ___ _______
::: | | | || || | | | | |
::: | |_| || ___|| | | | | _ |
::: | || |___ | | | | | | | |
::: | || ___|| |___ | |___ | |_| |
::: | _ || |___ | || || |
::: |__| |__||_______||_______||_______||_______|
:::
::: _ _,---._
::: ,-',' `-.___
::: /-;' `._
::: /\/ ._ _,'o \
::: ( /\ _,--'\,','"`. )
::: |\ ,'o \' //\
::: | \ / ,--'""`-.
::: : \_ _/ ,-' `-._
::: \ `--' / )
::: `. \`._ ,' ________,','
::: .--` ,' ,--` __\___,;'
::: \`.,-- ,' ,`_)--' /`.,'
::: \( ; | | ) (`-/
::: `--'| |) |-/
::: | | | | |
::: | | |,.,-. | |_
::: | `./ / )---` )
::: _| / ,', ,-'
::: ,'|_( /-<._,' |--,
::: | `--'---. \/ \
::: | / \ /\ \
::: ,-^---._ | \ / \ \
::: ,-' \----' \/ \--`.
::: / \ \ \
:::
::**************************************************************
for /f "delims=: tokens=*" %%A in ('findstr /b ::: "%~f0"') do @echo(%%A
pause>nul & exit
::**************************************************************
:Play
(
echo Play "%~1"
echo Sub Play(URL^)
echo Dim Sound
echo Set Sound = CreateObject("WMPlayer.OCX"^)
echo Sound.URL = URL
echo Sound.settings.volume = 100
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
echo End Sub
)>"%Temp%\%~n0.vbs"
Start "Play Music" /Min cscript.exe //nologo "%Temp%\%~n0.vbs"
exit /b
::**************************************************************