From ac496f2285d0f79b0124528edd636a732739829a Mon Sep 17 00:00:00 2001 From: undisclosed Date: Sun, 01 Jan 2023 17:29:03 +0000 Subject: [PATCH] Seek fuer VLC eingebaut --- src/de/uhilger/calypso/handler/DBusHandler.java | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/de/uhilger/calypso/handler/DBusHandler.java b/src/de/uhilger/calypso/handler/DBusHandler.java index 07b0bb4..0f6be4d 100644 --- a/src/de/uhilger/calypso/handler/DBusHandler.java +++ b/src/de/uhilger/calypso/handler/DBusHandler.java @@ -1,21 +1,30 @@ package de.uhilger.calypso.handler; import com.sun.net.httpserver.HttpExchange; +import de.uhilger.calypso.App; import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Obwohl ein laufendes VLC-Programm mit Tastaturbefehlen gesteuert * werden kann, funktioniert es nicht, dem Prozess einen Tastaturbefehl - * wie z.B. S fuer Stopp ueber process.getOutputStream zu 'schreiben'. + * wie z.B. S fuer Stopp ueber process.getOutputStream zu 'schreiben', + * moeglicherweise, weil auf dem Raspberry Pi das VLC als Kommando- + * zeilenprogramm ohne UI laeuft. Im Augenblick gelingt nur die Steuerung + * ueber dbus. Hier muss noch geprueft werden, ob das auch mit Windows und + * Mac OS klappt, was aber fuer einen Einsatz auf dem Raspberry Pi + * nebensaechlich ist. * - * Im Augenblick gelingt nur die Steuerung ueber dbus. - * - * Hier muss noch geprueft werden, ob das auch mit Windows und - * Mac OS klappt. + * Die Steuerung von VLC via dbus wiederum folgt dem Standard mpris + * (Media Player Remote Interfacing Specification) von freedesktop.org, + * der von zahlreichen Mediaplayern unterstuetzt wird. * * @author Ulrich Hilger */ public class DBusHandler extends CmdHandler { + + private static final Logger logger = Logger.getLogger(DBusHandler.class.getName()); public DBusHandler(String cmd) { super(cmd); @@ -25,7 +34,10 @@ protected String process(HttpExchange t, String params) { String antwort;// = null; try { - StringBuilder kommando = new StringBuilder(cmd); + StringBuilder kommando = new StringBuilder(); + kommando.append(VLCPlayer.DBUS_PREFIX); + kommando.append(cmd); + logger.log(Level.FINE, "kommando: {0}", kommando.toString()); Process player_process = Runtime.getRuntime().exec(kommando.toString()); antwort = "Kommando ausgefuehrt: " + kommando; } catch (IOException ex) { @@ -33,5 +45,4 @@ } return antwort; } - } -- Gitblit v1.9.3