Musik von einer Batch minimiert im Hintergrund abspielen?

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

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren