batch-file - 批量游戏后台播放音乐的方法

标签 batch-file

我正在用记事本制作一个批处理游戏,我想知道如何在后台播放文件音乐。

我有这个:

@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/

相关文章:

batch-file - 将值从 VBscript 返回到批处理文件而不使用 WScript.echo

batch-file - 如何在 Windows 批处理中重定向 FOR 命令

batch-file - 通过脚本启用 IIS AutoStart 和 StartMode

windows - 如果存档中没有子文件夹,如何在RAR/ZIP提取中创建子文件夹?

batch-file - 有没有办法使用 set/p 将变量设置为转义字符?

scripting - 如何在不复制扩展属性信息的情况下运行 robocopy?

windows - 如何找到批量创建的最后一个目录

batch-file - 批量循环期间捕获击键

batch-file - Windows 批处理 - 在每一行上将文本附加到 TSV 文件

batch-file - .bat 批处理文件中的 "start"命令