web-dev-qa-db-de.com

Unsichtbare Musik mit Batch-Datei abspielen?

Ich habe ein paar Threads gesehen, in denen steht, wie Musik abgespielt wird, wenn sie mit start /min beginnt. Außerdem wurde ein VBS-Skript erstellt, mit dem die Audiodaten minimiert werden. Aber egal auf welche Weise ich versuche, Audio minimiert laufen zu lassen, es erscheint auf dem Bildschirm.

Wenn ich start /min oder start /max versuche, erhalte ich das gleiche Ergebnis.

Weiß jemand, wie ich etwas minimiert anfangen kann?

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

Ändern Sie einfach track12.mp3 mit dem Namen Ihrer Audiodatei

15
SachaDee
CreateObject("Wscript.Shell").Run "wmplayer /play /close ""Your file location here""", 0, False
2
tony bd

Dies ist ein Kopieren/Einfügen aus einer anderen Antwort (auch von mir), die dies als mögliche Antwort auf einen der Punkte (das Abspielen einer WAV-Datei ohne sichtbare Anwendung) der Frage beinhaltet.

Soweit ich weiß, gibt es für den Play-Sound-Teil keine Möglichkeit, Einen benutzerdefinierten Wav direkt von der Befehlszeile abzuspielen, ohne Einen anderen Prozess zu starten. Die üblichen Tools sind vlc, wmplayer, eine vbs-Datei , Die den wmplayer ocx, Soundrecorder, Powershell, ... instanziert. All diese Optionen Sind in den vorherigen Fragen dokumentiert (nur die ersten). hier in stackoverflow oder hier in superuser. 

Erweitern Sie eine der Alternativen: Wenn Sie Zugriff auf einen C - Compiler (getestet mit mingw) haben, generiert dieser Code ein Konsolentool , Das die PlaySound-API-Funktion aufruft und das erste Argument als [.____. .] die abzuspielende Datei.

#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;
}

Abhängig von Ihrer Konfiguration müssen Sie dem Linker eine Referenz Zur Winmm-Bibliothek hinzufügen.

2
MC ND

Offensichtlich sehr spät für den Fragesteller der Frage, aber wer weiß? Jemand anderes kann vorbeischauen. Ich werde also Tony BDs Antwort vom April '14 nur wiederholen, und da sich jemand darüber beschwert hat, dass es sich nur um eine Code-Antwort handelt, füge ich eine kleine Erklärung hinzu und es ist wirklich sehr wenig erforderlich.

1.) Öffnen Sie den Windows-Editor

2.) Kopieren Sie den Code von Tony BD in den Editor 

3.) Ersetzen Sie "Your file location here" durch den vollständigen Pfad zu der Musikdatei, die Sie abspielen möchten.

4.) Wählen Sie im Notepad-Menü Datei | Speichern unter. . 

5.) Wählen Sie einen Speicherort aus und geben Sie der Datei einen Namen. Stellen Sie jedoch sicher, dass Sie anstelle des Standard-Dateityps .txt eine .vbs-Endung angeben.

6.) Schließen Sie den Editor

7.) Klicken Sie auf die vbs-Datei, die Sie gerade erstellt haben, und Ihre Musikdatei wird abgespielt und zeigt absolut nichts auf dem Bildschirm.

Der Parameter 0 im Code ermöglicht das Öffnen von WMP in einem unsichtbaren Fenster. Wenn Sie die 0 in eine 1 ändern, wird die grafische Benutzeroberfläche von WMP angezeigt.

Natürlich ist dies nur für Windows-Benutzer verfügbar, aber für sie die beste und einfachste Lösung für das Problem.

2
Thuba

Was ich benutze: VLC (kostenloser Download) für Windows. Funktioniert von XP bis 10.

benutze das

"c:\Program Files (x86)\videolan\vlc\vlc.exe" --qt-start-minimized --play-and-exit 
"c:\Program Files (x86)\videolan\vlc\Windows Exclamation.wav"

Pfade und Zitate nur als Beispiel; das Fleisch ist

vlc --qt-start-minimized --play-and-exit soundFilename
1
pol098

Wenn Sie ein Dienstprogramm eines Drittanbieters verwenden können, ist wv_player ein kostenloser Media Player mit einer einfachen GUI und Befehlszeilenschaltern, um Mediendateien ohne Schnittstelle abzuspielen.

0
foxidrive

Am meisten empfohlen ist MediaPlayer oder das relative ActiveX-Objekt . Dies kann für Leute ohne installierten MediaPlayer ein Problem sein (z. B. Windows XP zur Authentifizierung ist eine echte Authentifizierung erforderlich), und es kann sich bei verschiedenen Windows-Versionen anders verhalten (z. B. funktioniert das automatische Schließen bei einigen Windows-Versionen nicht.) erwartet). Hier ist meine Implementierung (erstellt keine temporären Dateien). Beispiel:

call mediaRunner.bat "C:\Windows\Media\Ring05.wav"

Auf jedem Windows-Rechner sind SP ActiveX - Objekte installiert, die .wav-Dateien ausführen können (kein mp3 usw.). Hier ist ein Skript . Beispiel:

call spPlayer.bat "C:\Windows\Media\Ring05.wav"

und wir haben auch HTA/InternetExplorer-Anwendungen und deren bgsound tag. Damit können Sie auch die Lautstärke des gespielten Songs steuern :

call htaplayer.bat "C:\Windows\Media\Ring05.wav" -1000
0
npocmaka

Verwenden Sie einfach Sounder.exe

ihre Befehlszeile wäre beispielsweise Sounder MyWaveFile.wav

Holen Sie es aus 

http://www.elifulkerson.com/projects/commandline-wav-player.php

0
Paul

Gestern bin ich auf diesen Thread gestoßen, als ich ein Problem untersucht hatte, das ich mit der in einem anderen Thema vorgeschlagenen Lösung hatte, weil der Windows Media Player offen gelassen wurde. Ausgehend von dem von MC ND gelieferten C-Code habe ich eine etwas poliertere und modernere (Wide Character) Version zusammengestellt, die ich gerade unter einer Drei-Klausel-BSD-Lizenz auf GitHub veröffentlicht habe.

Alles, was Sie wirklich brauchen, um es auszuführen, ist in SoundOff_Binary.Zip, das Sie unabhängig herunterladen können. Wenn Sie auch die Quelle benötigen, können Sie das Repository auf Ihrem lokalen Git klonen. Wenn Sie dies tun, nehmen Sie sich bitte die Zeit, um die Datei README.md zu lesen, bevor Sie sie verwenden.

0
David A. Gray

für Mac ist es. . .

afplay (your music file name here)

Hinweis: Es muss sich im iTunes-Ordner in iTunes-Musik befinden.

0
M. Elbrecht

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
::********************************************************************************************* 
0
Hackoo