Wie kann ich mit Batch einen "Hintergrundsound" abspielen?

2 Antworten

Batch ist keine vollwertige Programmiersprache. Es ist nur eine rudimentäre Skriptsprache um einfache Automationsaufgaben durchführen zu können. Sie war und ist nicht dazu gedacht um Audio-Dateien abspielen zu können.

Mann kann sie dafür aber verwenden. Und zwar in dem du per Batch eine Player-Software (wie den Windows Media Player, VLC oder ähnliches) aufrufst. Jeder Player akzeptiert als ersten Parameter eine Audiodatei, die dann automatisch abgespielt wird. So funktioniert die Dateitypenzuordnung nämlich intern: wird ein Programm mit einem Dateityp verknüpft (z.B. *.mp3) wird bei Doppelklick auf die Datei immer "zugeordnetes-programm.exe C:...\geklickte-datei.ext" aufgerufen.

Du hast bereits festgestellt dass das aber nicht so funktioniert wie du dir das vorstellst: du bekommst die GUI zu sehen. Einen anderen Weg gibt es mit Batch aber nicht. Deine Lösung des Problems sieht so aus, dass du einen Audioplayer suchen (oder mit einer "richtigen" Programmiersprache programmieren) musst, der das Abspielen von Audiodateien ohne GUI erlaubt.

...Und wieder mal rettet der VLC den Abend! Der VLC hat tonnenweise Optionen die über die Command Line gesteuert werden können. Mit einer dieser Optionen kann man das Interface-Modul festlegen. Das "Dummy"-Modul ist dabei ein Platzhalter. Wird der verwendet sollte der VLC ohne GUI starten und die Audio-Datei abspielen können. Der Aufruf erfolgt in etwa so:

vlc.exe --intf dummy deine-datei.mp3

Das musst du dann nur noch per Batch aufrufen (mit dem start oder call Befehl) und wenn du die Parameter richtig übergeben hast (achte auch auf die richtigen Pfade der vlc.exe und deiner Datei) sollte er starten und deine Datei ohne GUI wiedergeben - einen "Hintergrundsound" abspielen.

Könnte man das selbe nicht mit dlc.exe machen und weiß jemand wie man ausschaltet, dass dlc etws ausgibt?