VLC Media Player

  • 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

  • XD ist einfach :D 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

  • 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)
    _GUICtrlVLC_GetTime($vlc)

    [/autoit]

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • irgendwie steh ich jetzt auf der Leiter
    Müsste ich jz nicht die Zeit zurückbekommen wenn ein Video läuft ?

    [autoit]

    #include <VLC.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $vlc

    [/autoit][autoit][/autoit][autoit]

    _GUICtrlVLC_GetLength($vlc)
    _GUICtrlVLC_GetTime($vlc)

    [/autoit][autoit][/autoit][autoit]

    MSGBox(4096,"",_GUICtrlVLC_GetTime($vlc))

    [/autoit]
  • irgendwie steh ich jetzt auf der Leiter
    Müsste ich jz nicht die Zeit zurückbekommen wenn ein Video läuft ?

    [autoit]

    #include <VLC.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $vlc

    [/autoit] [autoit][/autoit] [autoit]

    _GUICtrlVLC_GetLength($vlc)
    _GUICtrlVLC_GetTime($vlc)

    [/autoit] [autoit][/autoit] [autoit]

    MSGBox(4096,"",_GUICtrlVLC_GetTime($vlc))

    [/autoit]

    sollte das nicht eher so aussehen?

    [autoit]


    #include <VLC.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $vlc

    [/autoit][autoit][/autoit][autoit]

    Global $laenge = _GUICtrlVLC_GetLength($vlc)
    Global $zeit = _GUICtrlVLC_GetTime($vlc)

    [/autoit][autoit][/autoit][autoit]

    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 :D
    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.
    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)

    [/autoit]

    ich glaube damit sollte ich alle haben :D


    // Edit : habe mal was gebaut ist nicht gut aber geht glaub ich :P

    Spoiler anzeigen
    [autoit]


    #include <vlc.au3>
    #include <GUIConstantsEX.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $vlc1, $video_path_input = 'C:\Adam Foley - Changes.mp3' ; Pfad zur Datei
    _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 :D

    [/autoit] [autoit][/autoit] [autoit]

    $label1 = GUICtrlCreateLabel("Time",10,10,50,20)
    $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)

    [/autoit] [autoit][/autoit] [autoit]

    if $vlc1 = False then

    [/autoit] [autoit][/autoit] [autoit]

    msgbox(0, "VLC UDF Example", "_GUICtrlVLC_Create failed." & @CRLF & _
    "The most likely cause is that you don't have VLC installed." & @CRLF & _
    "Make sure VLC, and the ActiveX component, is installed.")
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $mMsg = GUIGetMsg()
    Switch $mMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    $vlcgettime = Round((_GUICtrlVLC_GetTime($vlc1) / 1000),1)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetData($Time,$vlcgettime)

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]


    Gruß

    Einmal editiert, zuletzt von Protex (28. Oktober 2011 um 07:17)

  • 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.