首页 > 解决方案 > 有没有办法让 VBS 文件在后台播放,同时仍然允许您使用批处理文件的其余部分?

问题描述

所以我目前有一些代码的背景音乐:

set "file=C:\Users\%username%\Downloads\TACZ\Data\TACZmusic.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) >C:\Users\%username%\Downloads\TACZ\Data\TACZmusic.vbs
cscript.exe //nologo C:\Users\%username%\Downloads\TACZ\Data\TACZmusic.vbs
echo Hi
pause >nul

我想要它,所以在歌曲开始播放代码后继续,同时,当你关闭窗口时它停止播放。这允许您在继续使用窗口的同时在后台播放音乐,但在您关闭窗口后它会继续播放。

set "file=C:\Users\%username%\Downloads\TACZ\Data\TACZmusic.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) >C:\Users\%username%\Downloads\TACZ\Data\TACZmusic.vbs
start /min C:\Users\%username%\Downloads\TACZ\Data\TACZmusic.vbs
echo Hi
pause >nul

我找不到一个不错的选择。根据我的发现,有些人说要让它成为一个非常小的窗口,并在另一个窗口中打开大部分代码。有两个问题,第一个是它不再是背景问题。那我还不如直接打开mp3文件。另一个问题是,即使您假装它不存在,您仍然必须手动关闭两个窗口,而不是方便地关闭一个并同时关闭它们。我还没有找到任何解决方案,也许这是不可能的。

让我更好地重申我的问题:有没有办法播放隐藏在背景中的音乐,所以除了主批处理文件之外没有打​​开可见的窗口,这样当你关闭批处理文件时,音乐就会停止,它仍然允许你做其他批处理文件上的操作,它不会卡在一遍又一遍循环的屏幕上。

标签: batch-file

解决方案


推荐阅读