我正在用记事本制作一个批处理游戏,我想知道如何在后台播放文件音乐。
我有这个:
@echo off
start Music.mp3
Pause
它的作用是启动名为 Music.mp3 的音乐,但它会在弹出的单独窗口中启动它。我想要的是让它开始播放,而不是在窗口中弹出。我还希望它在我玩游戏时在后台启动并播放。
有什么方法可以做到这一点?
最佳答案
使用命令处理器的内部命令最接近的只能最小化窗口。如果你真的想把它“背景化”,脚本会很长而且很困惑。
start /min /c "" Music.mp3
或者这个:
@echo off
set "file=track12.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.exe //nologo sound.vbs
这将创建一个 vbs
,它在没有新窗口的情况下开始播放音乐。
用户 Lưu Vĩnh Phúc 建议,使用混合脚本可以防止清理问题。
@echo off
rem ----START OF BATCH CODE---
rem You can paste your entire batch code down here, and use
rem the cscript command whenever you want to play the sound.
cscript //nologo "%~f0?.wsf" //job:VBS
rem ----END OF BATCH CODE---
<package>
<job id="JS">
<script language="VBScript">
Set Sound = CreateObject("WMPlayer.OCX.7")
Sound.URL = "%file%"
Sound.Controls.play
do while Sound.currentmedia.duration = 0
wscript.sleep 100
loop
wscript.sleep (int(Sound.currentmedia.duration)+1)*1000)
</script>
</job>
关于batch-file - 批量游戏后台播放音乐的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45852997/