可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I've seen a cfew threads that say how to play music with the play minimized when it starts with start /min
, as well as one that creates a VBS script to run the audio minimized. But no matter which way I try to get audio to run minimized, it appears on screen.
Also, if I try start /min
or start /max
I'll get the same result.
Does anyone know how I can get something to start minimized?
回答1:
@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
start /min sound.vbs
just change track12.mp3
with the name of your audio file
回答2:
CreateObject("Wscript.Shell").Run "wmplayer /play /close ""Your file location here""", 0, False
回答3:
This is a copy/paste from another answer (also by me), that included this as a possible answer to one of the points (playing a wav file without a visible application) of the question.
For the play sound part, as far as i know, there is not way of
directly playing a custom wav from command line without spawning
another process. The usual tools are vlc, wmplayer, a vbs file
instancing the wmplayer ocx, sound recorder, powershell, ... All this
options are documented in previous questions (just the first)
here in stackoverflow or
here in superuser.
Expanding one of the alternatives, if you have access to some C
compiler (tested with mingw) this code will generate a console tool
that calls the PlaySound
API function passing the first argument as
the file to play.
#include <windows.h>
int main(int argc, char **argv)
{
if (argc < 2) return 1;
if (!PlaySound(
argv[1],
NULL,
SND_FILENAME | SND_NODEFAULT | SND_SYNC
)
) return 2;
return 0;
}
Depending of your configuration you will need to include a reference
to the Winmm library to the linker.
回答4:
Obviously very late for the asker of the question but who knows? Someone else may look by. So I'll just reiterate Tony BD's answer from April '14, and since someone complained about it being a code only answer I'll add a little explanation and really very little is required.
1.) Open Windows Notepad
2.) Copy Tony BD's code into Notepad
3.) Substitute 'Your file location here' with the full path to the music file you want to play.
4.) In Notepad menu choose File|Save as . .
5.) Choose a location and give the file a name but ensure that instead of the standard .txt file type you give it a .vbs ending.
6.) Close Notepad
7.) Click on the vbs file you just made and your music file will start to play showing absolutely nothing on the screen.
The 0 parameter in the code enables WMP to open in an invisible window. If you change the 0 to a 1 you will see WMP's graphical interface.
Obviously this is only available for Windows users but for them it's the best and simplest solution to the problem.
回答5:
What I use: VLC (free download) for Windows. Works from XP to 10.
use this
"c:\Program Files (x86)\videolan\vlc\vlc.exe" --qt-start-minimized --play-and-exit
"c:\Program Files (x86)\videolan\vlc\Windows Exclamation.wav"
Paths and quotes as example only; the meat is
vlc --qt-start-minimized --play-and-exit soundFilename
回答6:
for mac it is. . .
afplay (your music file name here)
Note: it must be in the iTunes folder in iTunes music.
回答7:
If you can use a third-party utility then wv_player
is a free media player that has a simple gui and has command line switches to play media files with no interface.
回答8:
Most suggested is MediaPlayer or the relative ActiveX object . This could be problem for a people without installed MediaPlayer (e.g. Windows XP required genuine authentication in order to install it) and it can acts differently on different windows versions (e.g. on some windows version auto closing does not work as expected). Here's my implementation (does not create temporary files).Example:
call mediaRunner.bat "C:\Windows\Media\Ring05.wav"
On every windows machine there are installed SP ActiveX objects which are capable to run .wav
files (no mp3 and so on). Here's one script.Expample:
call spPlayer.bat "C:\Windows\Media\Ring05.wav"
and we have also HTA/InternetExplorer applications and their bgsound tag.Which also allows you to control the volume of the played song:
call htaplayer.bat "C:\Windows\Media\Ring05.wav" -1000
回答9:
Batch Music Player.bat
@echo off
setlocal enabledelayedexpansion
Set vbsfile=%temp%\Intro.vbs
Set URL=http://hackoo.alwaysdata.net/Intro_DJ.mp3
Call:Play %URL% %vbsfile%
Start %vbsfile%
Set MyFile=%~f0
Set ShorcutName=DJ Batch Music Player
(
echo Call Shortcut("%MyFile%","%ShorcutName%"^)
echo ^'**********************************************************************************************^)
echo Sub Shortcut(CheminApplication,Nom^)
echo Dim objShell,DesktopPath,objShortCut,MyTab
echo Set objShell = CreateObject("WScript.Shell"^)
echo MyTab = Split(CheminApplication,"\"^)
echo If Nom = "" Then
echo Nom = MyTab(UBound(MyTab^)^)
echo End if
echo DesktopPath = objShell.SpecialFolders("Desktop"^)
echo Set objShortCut = objShell.CreateShortcut(DesktopPath ^& "\" ^& Nom ^& ".lnk"^)
echo objShortCut.TargetPath = Dblquote(CheminApplication^)
echo ObjShortCut.IconLocation = "Winver.exe,0"
echo objShortCut.Save
echo End Sub
echo ^'**********************************************************************************************
echo ^'Fonction pour ajouter les doubles quotes dans une variable
echo Function DblQuote(Str^)
echo DblQuote = Chr(34^) ^& Str ^& Chr(34^)
echo End Function
echo ^'**********************************************************************************************
) > %temp%\Shortcutme.vbs
Start /Wait %temp%\Shortcutme.vbs
Del %temp%\Shortcutme.vbs
::****************************************************************************************************
Title DJ Batch Music Player by Hackoo 2015
:menuLOOP
Color 0A & Mode con cols=78 lines=25
echo(
echo ===============================================================
echo "/ | / | / | ";
echo "$$ | $$ | ______ _______ $$ | __ ______ ______ ";
echo "$$ |__$$ | / \ / |$$ | / | / \ / \ ";
echo "$$ $$ | $$$$$$ |/$$$$$$$/ $$ |_/$$/ /$$$$$$ |/$$$$$$ |";
echo "$$$$$$$$ | / $$ |$$ | $$ $$< $$ | $$ |$$ | $$ |";
echo "$$ | $$ |/$$$$$$$ |$$ \_____ $$$$$$ \ $$ \__$$ |$$ \__$$ |";
echo "$$ | $$ |$$ $$ |$$ |$$ | $$ |$$ $$/ $$ $$/ ";
echo "$$/ $$/ $$$$$$$/ $$$$$$$/ $$/ $$/ $$$$$$/ $$$$$$/ ";
echo " ";
echo " ";
echo( =============================Menu==============================
echo(
for /f "tokens=2* delims=_ " %%A in ('"findstr /b /c:":menu_" "%~f0""') do echo %%A %%B
echo(
echo( ===============================================================
set choice=
echo( & set /p choice=Make a choice or hit ENTER to quit: || GOTO :EOF
echo( & call :menu_[%choice%]
GOTO:menuLOOP
::********************************************************************************************
:menu_[1] Play DJ Buzz Radio
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching DJ Buzz Radio ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\DJBuzzRadio.vbs
Set URL=http://www.chocradios.ch/djbuzzradio_windows.mp3.asx
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[2] Play David Guetta Mix
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching David Guetta Mix ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\David_Guetta_Miami.vbs
Set URL=http://hackoo.alwaysdata.net/David_Guetta_Miami_2014.mp3
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[3] Play Ibiza Mix
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching Ibiza Mix ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\IbizaMix.vbs
Set URL=http://hackoo.alwaysdata.net/IbizaMix.mp3
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[4] Play Avicii Mega Mix
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching Avicii Megamix ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\IbizaMix.vbs
Set URL="http://hackoo.alwaysdata.net/Best of Avicii Megamix 2014.mp3"
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[5] Play Mega Mix 90
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching Mega Mix 90 ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\IbizaMix.vbs
Set URL="http://hackoo.alwaysdata.net/Megamix 90.mp3"
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[6] Stop the music
cls & color 0C
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Stopping the music ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
: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
)>%~2
::*********************************************************************************************
:Tab
set "x="
For /L %%I In (1,1,%1) Do Set "x=!x! "
REM ^-- this is a TAB
goto :eof
::*********************************************************************************************
:SkipLine
For /L %%I In (1,1,%1) Do Echo(
Goto:Eof
:EOF
EXIT
::*********************************************************************************************
回答10:
Just use Sounder.exe
example your command line would be
Sounder MyWaveFile.wav
Get it from
http://www.elifulkerson.com/projects/commandline-wav-player.php
回答11:
I came across this thread yesterday when I was researching a problem that I had with the solution proposed in another topic because it left the Windows Media Player open. Starting from the C code supplied by MC ND, I put together a slightly more polished and modern (wide character) version, which I just published under a three-clause BSD license on GitHub
Everything you really need to run it is in SoundOff_Binary.ZIP, which you can download independently. If you want the source, too, please feel free to clone the repository to your local git. If you do so, please take the time to read the README.md file before you try to use it.