如何在批处理游戏的背景中播放音乐

问题描述:

我正在记事本中制作批处理游戏,我在想如何在后台播放文件音乐。如何在批处理游戏的背景中播放音乐

我有这样的:

@echo off 
start Music.mp3 
Pause 

这样做是它开始我的音乐的music.mp3但它在弹出一个单独的窗口中启动它。我想要的是它开始播放,但不会弹出窗口。当我玩我的游戏时,我也希望它在后台启动和播放。

任何方式我可以做到这一点?

+0

'开始/ min'是,你可以在纯批次获得最接近的一次。 – SteveFest

+0

你可以使用任何命令行的mp3播放器https://www.google.com/search?q=console+mp3+player+windows,当你需要时启动它并通过taskkill停止它 – Sergey

使用命令处理器的内部命令可以获得的最接近的值只能使窗口最小化。如果你真的想“背景”,脚本将会很长并且令人困惑。

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启动音乐没有一个新的窗口。


UserLưuVĩnhPhúc建议使用混合脚本来防止清理问题。基于WMPlayer.OCX

@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> 
+0

谢谢!我唯一的问题是在你的代码中说:设置“file = track12.mp3”。该文件= track12我替换我的MP3文件? – user8509468

+0

正确。改变你的喜好。 – SteveFest

+0

好的非常感谢你的回答! – user8509468

Here's another脚本。你可以用它喜欢:

mediarunner.bat Music.mp3 

Here's one基于互联网explorer.It的bgsound标签还允许你设置音量为parameter.Does不需要安装媒体播放器不像WMPlayer.OCX方法:

soundPlayer.bat Music.mp3 -50 

One based on SP objects但不幸它只能播放wav文件:

spplayer.bat file.wav 

没有脚本创建临时文件。

+0

好的,谢谢你,我会尝试一下 – user8509468

您还可以播放在线音乐这样的脚本:

@echo off 
Title Listen to the music with batch and vbscript 
mode con cols=60 lines=3 & color 9E 
echo. 
Echo   To stop the music just close this window 
set "file=http://www.chocradios.ch/djbuzzradio_windows.mp3.asx" 
set "vbsfile=%tmp%\%~n0.vbs" 
( 
    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 
)>%vbsfile% 
cscript /nologo %vbsfile% 
+0

嘿,我发现在你的脚本另一个奇怪的事情。 '/ nologo'应该是'// nologo'。但是这两个都有效...... – SteveFest