【问题标题】:How to play a .wav file in the background of a running Batch file?如何在正在运行的批处理文件的后台播放 .wav 文件?
【发布时间】:2021-03-05 09:18:58
【问题描述】:
我正在创建一个批处理文件,当我在命令提示符下运行批处理文件时,我希望在后台播放一个 .wav 文件。我想拥有它,这样就不会打开其他应用程序来播放文件并让它在命令提示符下直接播放。有什么可能的解决方案吗?谢谢。
【问题讨论】:
标签:
batch-file
audio
command-prompt
【解决方案1】:
你可以试试这样的:
您可以将变量 sound 更改为您的 .wav 路径
例如你可以这样设置:Set "sound=C:\windows\Media\tada.wav"
@echo off
Mode con cols=50 lines=3
Title Playing DJ Buzz Radio by Hackoo
:Play DJ Buzz Radio
cls & color 0A
echo(
Set "Sound=http://www.chocradios.ch/djbuzzradio_windows.mp3.asx"
Rem Set "Sound=C:\windows\Media\tada.wav"
echo Playing Now DJ Buzz Radio ...
Call :Play "%Sound%"
::*******************************************************
:Play <sound>
set "_vbs=%tmp%\%~n0.vbs"
(
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
)>"%_vbs%"
cscript /nologo "%_vbs%"
::*******************************************************
【解决方案2】:
这对我来说效果很好。您所要做的就是将 C:\Windows\Media\Windows Critical Stop.wav 更改为您的文件名。
@echo off
title ERROR
::"setting up" error sound - creating vbs file to make sound
set "file=C:\Windows\Media\Windows Critical Stop.wav"
( 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
::playing sound
start /min sound.vbs
::wait 1 second for vbs to let go of file
ping n- 1 127.0.0.1>nul
::delete vbs file
del sound.vbs