Gibt es eine Möglichkeit die Zeit des VLC Media Players auszulesen ?
Ich möchte mir nämlich ein kleines Skript schreiben, welches nach einer bestimmten Anzahl von Wiederholungen den Computer herunterfährt.
Zum Musik hören zum Bett geh
z.B. Das der Vlc Player noch 3 Lieder spielt und dann der Computer heruntergefahren wird.
Bitte um Hilfe
VLC Media Player
-
- [ offen ]
-
Amateur -
26. Oktober 2011 um 22:12 -
Geschlossen -
Erledigt
-
-
XD ist einfach lass dir mit Autoit die länge der Lieder zurückgeben .. addiere alle und setzte dann ein 'shutdown -s-f-t $addierteZeit' ab
Gruß Marvin
-
Es gibt eine VLC UDF über die du dir die Infos holen kannst: http://www.autoitscript.com/forum/topic/11…dia-player-udf/
-
Ich habe mir das einmal druchgelesen habe aber trotzdem leider keine ahnung wie ich daraus jz ein passendes
Script für mich schreibe -
Hmm, nadann kann dir auch nicht geholfen werden.
Die UDF bietet genau das was du wolltest:Spoiler anzeigen
[autoit]_GUICtrlVLC_GetLength($vlc)
[/autoit]
_GUICtrlVLC_GetTime($vlc) -
irgendwie steh ich jetzt auf der Leiter
[autoit]
Müsste ich jz nicht die Zeit zurückbekommen wenn ein Video läuft ?#include <VLC.au3>
[/autoit][autoit][/autoit][autoit]Global $vlc
[/autoit][autoit][/autoit][autoit]_GUICtrlVLC_GetLength($vlc)
[/autoit][autoit][/autoit][autoit]
_GUICtrlVLC_GetTime($vlc)MSGBox(4096,"",_GUICtrlVLC_GetTime($vlc))
[/autoit] -
irgendwie steh ich jetzt auf der Leiter
[autoit]
Müsste ich jz nicht die Zeit zurückbekommen wenn ein Video läuft ?#include <VLC.au3>
[/autoit] [autoit][/autoit] [autoit]Global $vlc
[/autoit] [autoit][/autoit] [autoit]_GUICtrlVLC_GetLength($vlc)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlVLC_GetTime($vlc)MSGBox(4096,"",_GUICtrlVLC_GetTime($vlc))
[/autoit]sollte das nicht eher so aussehen?
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <VLC.au3>Global $vlc
[/autoit][autoit][/autoit][autoit]Global $laenge = _GUICtrlVLC_GetLength($vlc)
[/autoit][autoit][/autoit][autoit]
Global $zeit = _GUICtrlVLC_GetTime($vlc)MSGBox(4096,"","Zeit: " & @Tab & $zeit & @LF & "Länge: " & @Tab & $laenge)
[/autoit]Kein Plan, ob das so funktioniert, aber ich bin mir sicher, dass deine MsgBox nicht funktionieren wird.
Man kann doch keine Funktion in einer MsgBox aufrufen... oder? -
XD auf keinen Fall wird das laufen
also :1. Diese UDF greift nicht in die Aktuelle Session der VLC Anwendung ein, sie ermöglicht es aber innerhalb einer GUI ein Video abzuspielen was im Hintergrund über den VLC Player geöffnet wird.
[autoit]
2. möchte man nun also sich irgend etwas abspielt muss man den VLC auch erst mal starten (über die UDF) dass normale starten sprich klick auf eine .mp3 Datei zb kann nicht abgefragt werden soweit ich das sehe.
3. Somit benötigen wir die Funktionen
[/autoit]
_GUICtrlVLC_Create(0, 50, 800, 450)
_GUICtrlVLC_Play($vlc1, 0)
_GUICtrlVLC_GetLength($vlc1)
_GUICtrlVLC_GetTime($vlc1)ich glaube damit sollte ich alle haben
// Edit : habe mal was gebaut ist nicht gut aber geht glaub ich
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <vlc.au3>
#include <GUIConstantsEX.au3>Global $vlc1, $video_path_input = 'C:\Adam Foley - Changes.mp3' ; Pfad zur Datei
[/autoit] [autoit][/autoit] [autoit]
_VLCErrorHandlerRegister()
$main_gui = GUICreate("VLC UDF Example", 400, 230)
$vlc1 = _GUICtrlVLC_Create(100, 5, 300, 200) ; VLC Fenster erzeugen (kann auch auf 0,0 gesetzt werden somit nicht sichtbar (muss aber ausgeführt werden um Objekt zu generieren)
_GUICtrlVLC_Play($vlc1, _GUICtrlVLC_Add($vlc1, $video_path_input)) ; Datei zur Playlist hinzufügen (zwingend notwendig zum abspielen) , Datei abspielen
_GUICtrlVLC_SetVolume($vlc1, 30) ; Volume auf 30 % sonst fallen einem ja die Ohren ab$label1 = GUICtrlCreateLabel("Time",10,10,50,20)
[/autoit] [autoit][/autoit] [autoit]
$Time = GUICtrlCreateLabel("xxxx",50,10,50,20)
$label2 = GUICtrlCreateLabel("Länge",10,40,50,20)
$stop = GUICtrlCreateLabel("xxxx",50,40,50,20)
GUISetState(@SW_SHOW)if $vlc1 = False then
[/autoit] [autoit][/autoit] [autoit]msgbox(0, "VLC UDF Example", "_GUICtrlVLC_Create failed." & @CRLF & _
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
"The most likely cause is that you don't have VLC installed." & @CRLF & _
"Make sure VLC, and the ActiveX component, is installed.")
Exit
EndIfWhile 1
[/autoit] [autoit][/autoit] [autoit]
$mMsg = GUIGetMsg()
Switch $mMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$vlcgettime = Round((_GUICtrlVLC_GetTime($vlc1) / 1000),1)GUICtrlSetData($Time,$vlcgettime)
[/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
Gruß -
Aso
Kann man in diesem erstellten Fenster auch Drag and Drop machen.
Den ich will verschiedene Lieder abspielen und nicht immer das Programm umschreiben wenn ich
ein anderes Lied hören will. -
hab mir gerade erst nen applet für meine g510 geschrieben für vlc...
geht ganz einfach über tcp!
hab dafür keine udf gebraucht (nur nen anstoß von nem user aus autoitscript.com).
http://www.autoitscript.com/forum/topic/76…ation-over-tcp/ist ganz einfach
-
Ich habe eine Frage.
Gibt es einen Befehl womit man die Gesamtzeit der Playlist erhaltet ? -
Hätte da nicht irgendjemand eine idee ?