/* * 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; /** * dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek int64:-5000000 * * @author Ulrich Hilger */ public class VLCSeekHandler extends CmdHandler { private static final Logger logger = Logger.getLogger(VLCSeekHandler.class.getName()); public VLCSeekHandler(String cmd) { super(cmd); } @Override protected String process(HttpExchange t, String params) { String antwort;// = null; try { StringBuilder kommando = new StringBuilder(); kommando.append(VLCPlayer.DBUS_PREFIX); kommando.append(cmd); kommando.append(params); logger.log(Level.FINE, "kommando: {0}", kommando.toString()); Process player_process = Runtime.getRuntime().exec(kommando.toString()); antwort = "Kommando ausgefuehrt: " + kommando; } catch (IOException ex) { antwort = "Fehler: " + ex.getMessage(); } return antwort; } @Override protected StringBuilder buildParams(HttpExchange t) { Player player = App.getPlayer(); StringBuilder params = super.buildParams(t); if(player instanceof VLCPlayer) { String pos = player.getParam(map, "pos"); if(!pos.isEmpty()) { params.append(" "); params.append("int64:"); params.append(pos); params.append("000000"); // Mikrosekunden } } logger.log(Level.FINER, "params: " + params.toString()); return params; } }