【问题标题】:BatchScript: Playing Music in the Background, but stop once the program has been exitedBatchScript:在后台播放音乐,但在程序退出后停止
【发布时间】:2018-02-12 20:21:21
【问题描述】:
set "file=mfx\reboot.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)>soundctrl.vbs
cscript soundctrl.vbs
echo Working...
pause>nul

我已经广泛搜索了这个问题的答案,我希望这是可能的。我已经设法在程序运行时播放音乐,但是,在以前没有使用 cscript 命令的版本中,我会使用 start soundctrl.vbs 它会在后台播放,然后继续程序没有问题,但是一旦程序关闭它就会继续播放,我必须在任务管理器中结束wscript 任务。

使用cscript 命令它可以完美地完成我想要的操作,但是,它不会继续通过cscript 命令到您看到“正在工作...”的位置。我考虑过taskkill,但我必须将用户引导至退出命令。

或者,也许是我走错了路?

【问题讨论】:

    标签: batch-file background-music


    【解决方案1】:

    为了在不等待 cscript 返回的情况下继续运行脚本,您需要启动一个单独的进程。

    start "Music" /Min cscript.exe soundctrl.vbs
    

    【讨论】:

    • 是的,如果不能完全完成,那是我正在考虑的事情之一。好吧,我想这已经是我能做到的了。感谢您抽出宝贵时间提供帮助。
    【解决方案2】:

    为了好玩,你可以试试这个代码:

    @echo off
    Mode 64,35 & color 0A
    Title Play Music 
    Call :Play "http://www.chocradios.ch/djbuzzradio_windows.mp3.asx"
    :::
    :::      __   __  _______  ___      ___      _______
    :::     |  | |  ||       ||   |    |   |    |       |
    :::     |  |_|  ||    ___||   |    |   |    |   _   |
    :::     |       ||   |___ |   |    |   |    |  | |  |
    :::     |       ||    ___||   |___ |   |___ |  |_|  |
    :::     |   _   ||   |___ |       ||       ||       |
    :::     |__| |__||_______||_______||_______||_______|
    :::
    :::              _ _,---._
    :::           ,-','       `-.___
    :::          /-;'               `._
    :::         /\/          ._   _,'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
    ::**************************************************************
    

    【讨论】:

    • 非常好的 ASCII。 ^-^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多