| | |
| | | /* |
| | | * 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); |
| | |
| | | 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) { |
| | |
| | | } |
| | | return antwort; |
| | | } |
| | | |
| | | } |