Flowy Posted September 22, 2009 Share Posted September 22, 2009 Würde gern Random bei Musiktiteln und normales abspielen bei Videos realisieren. Dazu bedien ich mir der Command.vbs. Bis jetzt kann ich schonmal unterscheiden ob Musik oder eine Video Datei abgespielt wird. doch ich weiss nicht wie ich abfragen kann, ob RANDOM gesetzt ist oder nicht, weil dann würd ich einfach das richtige SendCommand hinterher schicken Bisheriger Code: 'wenn musikdatei in der Playliste abgespielt wird if isMediaplayback Then Set Playlist = PlayListManager.GetPlayList(PlayListManager.CurrentPlaylist) if not (Utils.Tagreader.Readtag(Playlist.Item(PlayListManager.CurrentTitle).filename) is nothing) then osd.showInfoinTVpic "Musik wird abgespielt?`??" & ActionID,1000 end if end if Nun kann ich schonmal unterscheiden ob Musik oder Video abgespielt wird, aber wie kann ich nun abfragen ob Random gesetzt wurde oder nicht? Danke Quote Link to comment
Tüftler Posted September 22, 2009 Share Posted September 22, 2009 Wenn du mit Random die Playlist meinst dann sollte das helfen: PlaylistManager.isPlaying bedeutet die Playlist wird abgespielt. Wenn nicht, dann bitte genauere Erläuterung. Quote Link to comment
Flowy Posted September 22, 2009 Author Share Posted September 22, 2009 (edited) Ja richtig. Nur wenn die Playliste abgespielt wird kann ich das Objekt PlayListManager benutzt werden, ansonsten kommt es zu einer Fehlermeldung Deswegen muss ich erst abfragen ob eine Playliste abgespielt wird, bevor ich die anderen Sachen benütze Bei mir gehts um die Unterscheidung beim Abspielen einer Playliste, ob diese gerade Videos- oder Musikdateien abspielt um die Random ein- bzw auszuschalten Edited September 22, 2009 by Flowy Quote Link to comment
Tüftler Posted September 22, 2009 Share Posted September 22, 2009 Kannst du mal den Code posten, hatte damit eigentlich keine Probleme bisher. In meinem Beispiel wird das Script beendet wenn die Playlist nicht abgespielt wird. Und gleich mal zum Verständnis, du willst nur unterscheiden ob "Nur Audio" und wenn "Ja" dann ob "Playlistwiedergabe" läuft, richtig? Quote Link to comment
Flowy Posted September 22, 2009 Author Share Posted September 22, 2009 (edited) sub main(ActionID) Set WshShell = CreateObject("WScript.Shell") WshShell.AppActivate("DVBViewer") 'wenn musikdatei in der Playliste abgespielt wird if isMediaplayback Then Set Playlist = PlayListManager.GetPlayList(PlayListManager.CurrentPlaylist) if not (Utils.Tagreader.Readtag(Playlist.Item(PlayListManager.CurrentTitle).filename) is nothing) then 'Random aktivieren else 'Random dekativieren end if end if Select Case ActionID 'fav + Case 50320 if isMediaplayback Then 'Nächster Eintrag in der Playliste SendCommand(66) if windowmanager.activeWindowID = 2901 Then 'nothing else 'show osd-infos SendCommand(73) end if else 'fav+ SendCommand(21) end if End Select end sub Ich habe den fav+ befehl umgeschrieben, damit ich den nächsten playlisteneintrag abspielen kann. Jetz möchte ich aber bei Filmwiedergabe kein Random drinnen haben und bei Musikwiedergabe aber schon. Die Unterscheidung funktioniert auch schon, nur ich müsste jetzt halt Random ein und ausschalten können und ich weiss nicht wie Edited September 22, 2009 by Flowy Quote Link to comment
Tüftler Posted September 22, 2009 Share Posted September 22, 2009 Aus und Einschalten kannst du das doch über das Command(70). Das größere Problem dürfte sein zu ermitteln ob es eingeschaltet ist oder nicht. Ich hatte das mal mit der Funktion "Video Anzeigebereich bei nur Audiowiedergabe schließen" über die Setup.xml probiert, was auch ging, aber ich glaube sie wurde erst beim nächsten Viewer Start aktualisiert. Quote Link to comment
Flowy Posted September 22, 2009 Author Share Posted September 22, 2009 Jap das ist das Problem d.h. man kann den Wert nicht zwischen speichern? Bin mit vbs leider nicht so vertraut Hättest du vll noch nen Code-Ausschnitt, wie Du das gemacht hast? Schonmal Danke für deine Hilfe Quote Link to comment
Tüftler Posted September 22, 2009 Share Posted September 22, 2009 Tut mir leid, habe alles durchsucht, aber nach dem das nicht ging wurde das Script wohl entsorgt. Hier der entsprechende Problemthread! Dort hast du ein Beispiel mit SetSetupValue "General", "Radiomode", "1" enthalten und kannst dir das fürs lesen umbauen. Das Lesen beim Start des DVBViewer's aus der XML sollte gehen und danach kannst du dir eine Variable im Datamanager speichern, die sich merkt ob du Random änderst oder nicht. Das Kartenhaus fällt aber spätestens zusammen wenn du die Random Einstellung mit der Maus änderst, dann kriegt deine Variable nichts davon mit. Über die Doku habe ich jedenfalls keine Möglichkeit gefunden direkt abzufragen ob Random aktiv ist oder nicht. Nur über das Plugin SDK gibt es wohl Zugriff auf die Menü Routine. (Mausüberwachung) Quote Link to comment
Flowy Posted September 23, 2009 Author Share Posted September 23, 2009 Super schau mir das mal an. Danke Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.