Musik von einer Batch minimiert im Hintergrund abspielen?
Also ich möchte das in Meiner Batch im Hintergrund Musik läuft über diesem Code start Start.mp3 /min aber der Player wird im Vordergrund gestartet. Wie ich jetzt machen das der Player im Hintergrund gestartet wird.
1 Antwort
Der Zuneplayer (Win10 Standardaudioplayer) ist recht unkooperativ, wenn es darum geht aus einer Batch minimiert zu starten.
Entweder Du arbeitest mit einem 3.Anbieterplayer der kooperativer ist.
oder Du bastelst Dir selber einen... ne war Spaß, Du must das Rad nicht neu erfinden, ich habe einen Player ohne jeden schnickschnack, das heist wirklich nur Musik abspielen oder nicht.
...und das meinst Du ja wohl. Wo läge sonst das Problem einfach auf den Minimieren-Buton zu klicken?
@echo off
chcp 65001 >nul
rem das Playerscript muss nur einmal geschrieben werden
if exist "%temp%\PlaySound.js" goto :Play
rem Playerscript schreiben. (javascript hat den Vorteil gegenüber VBS, dass man alles in einer Zeile schreiben kann)
echo player = new ActiveXObject("WMPlayer.OCX.7");for (i=0; i^<WScript.Arguments.length; i++) {player.URL = WScript.Arguments(i);player.Controls.play();while (player.currentmedia.duration==0) { WScript.sleep(100)};WScript.sleep(player.currentmedia.duration*1000);}>"%temp%\PlaySound.js"
:Play
rem in die Taskleiste minimiert, in paralelen Thread zur Batch (Dateien die gepielt werden sollen)
start "" /min cscript /nologo "%temp%\PlaySound.js" "C:\Windows\Media\Ring10.wav" "C:\Windows\Media\Alarm06.wav"
rem hier was die Batch sonst noch machen soll
echo ich mache weiter...
echo bis der Zähler abläuft
timeout 3
natürlich kann man den Player auch völlig unsichtbar laufen lassen:
@echo off
chcp 65001 >nul
if exist "%temp%\PlaySound.js" goto :Play
echo player = new ActiveXObject("WMPlayer.OCX.7");for (i=0; i^<WScript.Arguments.length; i++) {player.URL = WScript.Arguments(i);player.Controls.play();while (player.currentmedia.duration==0) { WScript.sleep(100)};WScript.sleep(player.currentmedia.duration*1000);}>"%temp%\PlaySound.js"
:Play
rem völlig unsichtbar in einem paralelen Thread .
start "" "%temp%\PlaySound.js" "C:\Windows\Media\Alarm06.wav"
...diese variante lässt sich nur über den Taskmanager beenden (oder wenn alle übergebenen Audiodateien abgespielt sind)
das Script spielt sogar Onlinesteams:
start "" /min cscript /nologo "%temp%\PlaySound.js" "http://stream02.iloveradio.de/iloveradio1.mp3"
...hier sollte man auf den totalen Hintergrundmodus verzichten.
Ich hätte Da auch noch einiges anderes in Peto auch mit bedienelementen, aber wozu Aufwand, wenn das Ding eh im Hintergrund läuft