From aaed2d146028ba1488a7ba7c7e924192b9df8394 Mon Sep 17 00:00:00 2001 From: undisclosed Date: Mon, 02 Jan 2023 08:58:15 +0000 Subject: [PATCH] Kommentare ergaenzt --- src/de/uhilger/calypso/handler/DBusHandler.java | 29 +++++++++++++++++++++-------- 1 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/de/uhilger/calypso/handler/DBusHandler.java b/src/de/uhilger/calypso/handler/DBusHandler.java index fc61df4..0f6be4d 100644 --- a/src/de/uhilger/calypso/handler/DBusHandler.java +++ b/src/de/uhilger/calypso/handler/DBusHandler.java @@ -1,19 +1,30 @@ -/* - * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license - * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template - */ 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; /** - * - * @author ulli + * 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', + * 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. + * + * 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); @@ -23,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) { @@ -31,5 +45,4 @@ } return antwort; } - } -- Gitblit v1.9.3