54.
14.05.2010 Für Windows Mediaplayer 11 und VLC-Player eine
automatische Wiedergabe erstellen - ein Fall für die
Kommandozeile?
Der
Sternenhimmelstuermer hört gerne Musik oder schaut Fernsehen auf dem
Computer - daher die vielen Rechtschreibfehler in seinen Abhandlungen -
der Mensch ist einfach nicht 100 % Multitaskingfähig im Gegensatz zum
PC.
Ziel dieser Abhandlung ist eine automatischeWiedergabe von Musik mit
dem
Windowsmediaplayer 11 und VLC-Player zu erstellen. Vorneweg: Der
Windowsmediaplayer 11 ist
in dieser Disziplin einfach erbärmlich.
Einleitung
Inhaltsangabe
Befehle der
Kommandozeile für den Windows Mediaplayer
Batch
zum Abspielen einer Wiedergabeliste
Befehle
für den VLC-Player
Anwendung:
Voicebenachrichtigung an beliebigen Tag mit Batch
Voicebenachrichtigung einmalig nach Systemstart
(Schlüssel runonce)
Befehle
der Kommandozeile für den Windows Mediaplayer
Voraussetzung:
installierter Mediaplayer - bei Windows 7 Medienplayer 11..
Hier
erstmal so die klassischen Befehle für die CMD (Kommandozeile):
1.
Die Komandozeile wie folgend beschrieben öffnen: cmd ins
Suchfeld
eingeben - cmd.exe mit echter Maustaste über Kontextmenü "als
Administrator ausführen".
2. Dann erstmal cd C:\Program Files\Windows
Media Player eingeben oder kopieren.
cd ist die
Angabe in den neuen dahinterstehenden Pfad zu springen. Im o. a. Pfad
legt die Ausführungsdatei für den Mediplayer,
3.
Befehle Testen. Der einfachste Befehl zuerst:
wmplayer.exe -
Der Windowsmediaplayer öffnet sich
wmplayer.exe "D:\eigene
Musik\Bushido/bushido (1).mp3" "D:\eigene Musik\Bushido/bushido (2).mp3"
Hier
werden die zwei gewählten nacheinander Titel gespielt.
Und
jetzt komt ein wenig Ernüchterung...
Der
Windows Mediaplayer weigert sich nämlich beharrlich auf dem PC des
Sternenhimmelstuermers Musik vom RAM-Disk
abzuspielen. Er sucht
und sucht.... und findet einfach nicht die Melodie.
Weiterhin
weigert sich der Player beharrlich bei der Musikeingabe mit den
Parametern, die für Videos
gelten, auf Musik übertragen zu arbeiten. Dann kommt die schöne
Meldung, dass das Format nicht unterstützt wird. Diese "Fehler" sind
dem
Sternenhimmelstuermer schon lange bekannt und es wundert doch sehr,
dass sich noch niemand bei der Microsoft Cooperation beschwert hat -
der Sternenhimmelstuermer schreibt darüber natürlich lieber einen
Artikel und die o. a. Konstruktion des Kommandozeilenbefehls hat der
Sternenhimmelstuermer aus dem Gefühl heraus geschrieben - ist halt
analog zum Internetexplorer und das öffnen von Webseiten.
Hm,
so ist die Wiedergabeliste auf 256 Zeichen begrenzt, also ein weiterer
Versuch:
zurück
------
Batch zum Abspielen einer Wiedergabeliste
1.
Eine Textdatei erstellen: rechte Maustastenklick auf freie Fläche von
Desktop oder in beliebigen Ordner auf Freifläche im Ordnerfenster.
Auswählen neu - Textdokument. Dann Namen auf beliebigen Namen mit
Endung *.bat
ändern, also versuchs.bat
. Wichtig ist die Änderung der
Dateiendung. Dazu muss die Dateiendung angezeigt werden. Also in
beliebigen Ordner Extras - Ordneroptionen - Registerkarte Ansicht -
"Erweiterungen bei bekannten Dateitypen ausblenden" Häkchen durch
Anklicken wegnehmen. Danach "für alle Ordner übernehmen" drücken,
fertig....
2. Nach Umbenennung bestätigen und mit
rechter
Maustaste anklicken. Bearbeiten auswählen. Nach jeder Zeile die
Eingabetaste. Das sieht dann so aus:
cd C:\Program
Files\Windows Media Player
start wmplayer.exe
"D:\eigene Musik\Bushido/bushido (1).mp3" "D:\eigene
Musik\Bushido/bushido (2).mp3"
Anmerkung:
Setzen Sie nicht den Befehl start,
dann haben Sie das Eingabefenster
der cmd die ganze Zeit geöffnet - @echo off, nul und die
anderen Tricks
funktionieren nicht. Wollen Sie rictig lange Wiedegabelisten abspielen,
dann wird es etwas komplizierter. Bin ein wenig faul, daher hier mal
nur zwei Lösungsansätze:
a) Es geht natürlich über eine zuvor erstellte *wpl - Liste im Mediaplayer
Im Media Player unter dem Menü Ansicht im Pulldownmenü Bibliothek zu Wiedergabeliste erstellen zu
wechseln. Dort geben Sie der Wiedergabeliste einen Namen und füllen per
Drag und Drop die Wiedergabeliste. Nach dem Speichern oder bei
vorhandenen Listen können Sie
in der linken Hierarchie leicht mit der rechten Maustaste die Liste
markieren
und Dateispeicherort öffnen
aufrufen, um den Pfad der Wiedergabeliste zu bestimmen.
So eine Liste im *.wpl-Format könnte mit dem Texteditor von Windows geöffnet so aussehen:
probe.wpl (Probe ist der vergebene Name der Liste im Windows Media Player)
<?wpl version="1.0"?>
<smil>
<head>
<meta name="Generator" content="Microsoft Windows Media Player --
12.0.7601.17514"/>
<meta name="ItemCount" content="4"/>
<meta name="IsFavorite"/>
<meta name="ContentPartnerListID"/>
<meta name="ContentPartnerNameType"/>
<meta name="ContentPartnerName"/>
<meta name="Subtitle"/>
<author/>
<title>probe</title>
</head>
<body>
<seq>
<media src="..\neue musik\01 - Arnim Tsunami - wortlos.mp3"
tid="{410B6695-8347-4E24-B8B1-013459F6E98C}"/>
<media src="..\download\Atomic Kitten - It's Ok
(Radio Edit).mp3" tid="{06F3EBCA-17D8-45A8-97F7-FE0FC8A86910}"/>
<media src="C:\Users\Manfred Thiele\Desktop\musik\01 - afroman -
because i got high.mp3"
tid="{D9275BC2-2067-42ED-9632-A16F4122EB20}"/>
<media src="C:\Users\Manfred Thiele\Desktop\musik\01 - black eyed
peas - shut up.mp3" tid="{18DEAE21-A89A-424C-80AA-ACFEBADD4279}"/>
<media src="C:\Users\Manfred Thiele\Desktop\musik\01 - Falko - Out
in the dark.mp3" tid="{8394F5BB-FC21-4A13-9734-77FB53C49507}"/>
<media src="C:\Users\Manfred Thiele\Desktop\musik\01 - Fettes Brot -
Jein.mp3" tid="{F078957A-F411-4BF3-B9C1-44D4CBB4C7BC}"/>
</seq>
</body>
</smil>
Die müssen Sie nun einfach mit der Kommandozeile oder in einer Batch
starten, bei relativer Lage (im selben Ordner), so in der Art :
start "" "probe.wpl",
wenn die Liste "probe" heißt. Den Namen müssen Sie natürlich dem Namen der Liste anpassen...
Wichtig ist dabei, dass Sie dabei nicht den Fehler machen, den Windows
Media Player direkt anzusprechen - ansonsten wird der Player gestartet
und die Liste nicht gestartet, also wäre
start wmplayer.exe
"probe.wpl" definitiv falsch!!!
b) Über eine Anspielfunktion mit bestimmten Zeiträumen
cd C:\Program Files\Windows
Media Player
start wmplayer.exe
"D:\eigene Musik\Bushido/bushido (1).mp3"
@echo off
timeout /t 180
taskkill wmplayer.exe
start wmplayer.exe
"D:\eigene Musik\Bushido/bushido (2).mp3"
Hm,
Timeout
ist für die Angabe des Titels in Sekunden - beim Beispiel 180
Sekunden. Bei dieser Variante ist das CMD-Fenster geöffnet, also nicht
100 % befriedigend, da immer erst die Titellänge eingegeben werden muss.
zurück
-----
Befehle für den VLC-Player
Der
VLC-Mediaplayer ist eindeutig
der bessere Player. Nicht nur in Bezug auf die Kommandozeile. Egal ob
von der RAM-Disk des Sternenhimmelstuermers oder bei der ausführlichen
Beschreibung und Nutzungsmöglchkeiten - z. B. der Wiedergabe von
Flashdateien.
Der
VCL-Player ist ähnlich gestrickt wie der Windowsmediaplayer - hier
wieder eine kleine Batch - wer nicht weiß, wie man eine Bat erstellt,
geht mal zurück zum vorherigen Abschnitt:
Batchtext
copy *.mp3 r:\
cd C:\Program
Files\VideoLAN\VLC
start vlc.exe r:\
Ende
Erste
Zeile kopiert aus einem beliebigen Ordner , wo die Batch
liegt sämtliche MP3-Songs in das Verzeichnis R:\
, dass eben in der Anleitung erwähnte RAM-Disk-Verzeichnis des
Sternenhimmelstuermers ist. RAM ist wie der Name es sagt flüchtig, d.
h. nach einem Neustart des Computers sind die Songs dort weg (wegen
mangelnder Stromversorgung). Da ist so eine Batch schon eine
praktische Sache. Merke: ein Festplattenzugriff für die Kopierfunktion
ist Ressourcenschonender, als viele Zugriffe von der Festplatte.
Die
zweite Zeile wechselt zum Ordner für die "Startdatei", nämlich der
vlc.exe,
die mit dem Befehl
r:\ ohne
Anführungszeichen sämtliche Dateien in diesem Verzeichnisse, also die
MP3 Dateien abspielt. Das geht natürlich auch mit allen anderen Pfaden
und Verzeichnissen.
Ansonsten kann man wieder
einzelne Lieder auch gerne mit Anführungszeichen versehen, also zum
Beispiel als Batchdatei:
cd C:\Program
Files\VideoLAN\VLC
start vlc.exe "D:\eigene
Musik\Bushido/bushido (2).mp3" .
Ende
Was auf gar keinen Fall
funktioniert: "*.mp3"
funktioniert weder für den VLC noch
Windowsmediaplayer!
Eine weitaus
größere Auswahl von Kommandozeilenbefehlen für den VCL-Player finden
sie auf dieser englischsprachigen Seite.
Damit
ist der Windowsmediaplayer wieder einmal die zweite Wahl...Treffen Sie
Ihre Wahl
---------
Anwendung: Voicebenachrichtigung an
beliebigen Tag mit Batch
Einige
User fragen sich vielleicht, wozu es sinnvoll ist , mit einer
Batch einen Musiktitel oder eine Sprachdatei azuspielen. Ganz einfach,
mit ein paar Zeilen Programmcode kann da eine prima Erinnerungsfunktion
daraus gemacht werden.
Als
erstes rufen Sie den Autostartordner auf %AppData%\Microsoft\Windows\Start
Menu\Programs\Startup oder shell:startup
für einen individullen Eintrag für ihr Benutzerkonto oder shell:Common
Startup bzw. %ProgramData%\Microsoft\Windows\Start
Menu\Programs\Startup für alle Benutzerkonten. Die
Grundbefehle bleiben immer gleich und Sie müssen die Batch nur noch für
jeden Eintrag um eine Zeile ergänzen:
A.
Erstellen Sie ein Textdokument im o. a. Ordner: mit der rechten
Maustaste auf freie Fläche - neu - Textdokument. Öffnen Sie das leere
Dokument und geben Sie folgenden angepassten Text ein:
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
chcp 28591 > NUL
IF
%tag%%monat%%jahr%==15052010 start "" "C:\Program
Files\VideoLAN\VLC/vlc.exe" "D:\eigene
Musik\Bushido\test.mp3"
Anmerkung:
Die letzte Reihe von
If bis test.mp3"
ist eine Zeile! Die Batch
funktioniert so natürlich nur mit dem Datum 15.05.2010! Zum Testen
können Sie die Batch mit linken
Maustastenklick nach Aktualisierung des Datums und Erstellung einer
Musik oder Sprachdatei doppelklicken! Eine MP3- , eine Wave-Datei oder
? Alles ist möglich!
Erklärung:
Das Ganze sieht zuerst sehr verwirrend aus, aber nach der Erklärung ist
es ein leichtes diesen Code anzupassen: Vertrauen Sie den
Sternenhimmelstuermer - er ist selbst nicht fähig mehr als ein paar
Zeilen selbst zu erstellen:
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
Als
erstes lassen Sie den Computer das aktuelle Datum (Vorsicht, dass
sollte auch das richtige auf ihrem Computer sein!) auslesen und in eine
Form bringen,
damit Sie damit arbeiten können.
set
heißt dabei: Erstelle eine Variable. jahr ist der Name der Variable -
Vorsicht: Groß und Kleinschreibung beachten: jahr ist nicht
Jahr! ~-4% Sind
die ersten vier Ziffern des Jahres ohne vorherigen Punkt.
~-7,2% Sind
die zwei Ziffern des Monats: Das Datum insgesamt hat mit Punkten und
Ziffern Zehn Stellen. Ab der 7 Stelle werden 2 Ziffern aus dem
Datum übernommen.
~-10,2% bis
zur 10 Stelle werden 2 Stellen übernommen. Das ganze negativ von hinten
nach vorn....alles ziemlich egal für Sie! Wichtig ist, was hinten dabei
raus kommt und das sind dri Variablen des aktuellen Datums ( %date ).
chcp 28591 > NUL ist
für die Ausgabe des folgenden Textes im richtigen Format zuständig -
Ansonsten würde z. B. bei einem Titel von der Musikgruppe die Ärzte das
ä mit einer kleinen drei weitergegeben
werden - Resultat: Die Datei wrid nicht gefunden. Mit ü, ö, ß hätten
Sie dieselben Probleme. Der
Sternenhimmelstuermer ging auf dieses Problem bereits bei einer Erstellung
der Batch für den Ausdruck der Windowshilfe ein.
IF
%tag%%monat%%jahr%==15052010 start "" "C:\Program
Files\VideoLAN\VLC/vlc.exe" "D:\eigene Musik\Bushido\test.mp3"
ist
die für Sie wichtige Zeile -
IF %tag%%monat%%jahr%==15052010 ist
dabei die Bedingung, das wenn der 15.05.2010 erreicht ist, der folgende
Befehl ausgeführt wird - und das wirklich nur an diesem Tag. Da die
Batch im Autostart liegt, wird dieses jedesmal beim Betriebssystemstart
geprüft. Nachteil: Starten Sie den Computer nicht an diesem Tag, wird
die Sprachnachricht nicht geöffnet. test.mp3 ist
die Sprachdatei oder der Musiktitel: Hier legen Sie den Pfad oder die
Datei an
start
""
ist der zwingend vorgesschriebene Befehl zur Ausführung von
"C:\Program
Files\VideoLAN\VLC\vlc.exe "
dem Programmpfad des Sternenhimmelstuermers.
Sie
können nach diesem Schema beliebig viele Datumseinträge in die Batch
eintragen. Einfach die letzte
if - Zeile beliebig oft mit angepassten Datum und Zeit
wiederholen.
So kann man mit fünf Zeilen Code
mächtig Eindruck schinden, ohne viel Ahnung zu haben - Die
Kommandozeile ist Spitze. Bei der Wahl der Titel würde der
Sternenhimmelstuermer übrigens immer kurze Titel empfehlen, da diese
bushido-Teile Leerzeichen enthalten...so was kann ins Auge gehen.
B.
Danach speichern Sie
das Textdokument als Batch und verschieben die in
den o. a. Autostartordner, falls nicht bereits getan. (Also wieder
beliebiger Name und *.bat,
also z. B. erinnerungs.bat
. Falls die Dateiendung *.txt
nicht angezeigt wird, wieder in einem beliebigen Ordner.
Also in
beliebigen Ordner Extras - Ordneroptionen - Registerkarte Ansicht -
"Erweiterungen bei bekannten Dateitypen ausblenden" Häkchen durch
Anklicken wegnehmen. Danach "für alle Ordner übernehmen" drücken,
fertig....).
Für
den Windows Mediaplayer 11 habe ich das nicht getestet - sollte jeder
nach dieser Abhandlung selbst anpassen können - aber wer hört denn
schon mit dem Windowsmediaplayer, wenn es den kostenlosen vlc-Player
gibt?
------
Voicebenachrichtigung
einmalig nach Systemstart (Schlüssel runonce)
Nachtrag
24.05.2010
Dann
gibt es noch die Möglichkeit eine Sprachdatei beim nächsten Systemstart
einmalig auszuführen. Der Sternenhimmelstuermer entwickelte dafür einen
reg add Befehl, der den
betreffenden Eintrag in die Registry einträgt:
Start
- cmd - cmd.exe mit rechter Maustaste: als Administrator ausführen. Den
u. a. Befehl anpassen und hineinkopieren oder eine eimmalige batch
schreiben (lohnt sich, da im Schlüssel runonce der Eintrag nach dem
nächsten Systemstart und Ausführung des Befehls selbst löscht).
reg add
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v test /t
REG_SZ /d "cmd /c start \"\" \"C:\Program
Files\VideoLAN\VLC/vlc.exe\" \"D:\eigene
Musik\Bushido\test.mp3\"
Hm,
Sie müssen im Maximalfall nur den Pfad einer Datei ändern und den Titel
der Musik. Mit dem Windowsmediaplayer geht das übrigens genauso.
Nachschauen
können Sie das im Registrierungseditor (start - regedit - regedit.exe
mit rechter Maustaste anklicken): Dort den Pfad:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
Hier
steht der Registryeintrag
test (den können Sie auch gerne anders benennen), den Sie
nach dem Ausführen der CMD oder Batch-Datei nachschlagen können.
Für
den Schlüssel run können Sie das Ganze genauso machen. Einfach den o.
a. Befehl anpassen - mit den Ausführungen des o. a. Hyperlinks kein
Problem. Ein wenig ist der mündige PC-User gefragt...
Damit
ist diese Abhandlung beendet - Hey, dann geht es vielleicht bald mal
wieder zur Registry...