/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package de.uhilger.calypso.handler; import com.sun.net.httpserver.HttpExchange; import de.uhilger.calypso.ProzessLauscher; import java.util.Map; /** * * @author ulrich */ public interface Player extends ProzessLauscher { /** * Einen Prozess zum Abspielen mit dem omxplayer starten * @param urlStr URL der Quelle, die abgespielt werden soll * @param token * @return Antwort des Servers */ /* public String abspielen(String urlStr, String token) { return abspielenMitParametern(urlStr, null, token); } */ /* public String abspielenMitRueckmeldung(String urlStr, String meldeUrlStr, String token) { return abspielenMitParameternUndRueckmeldung(urlStr, null, meldeUrlStr, token); } */ /** * Einen Prozess zum Abspielen mit dem omxplayer starten * und Parameter uebergeben.Moegliche Parameter fuer das Abspielen mit dem omxplayer beschreibt die Seite Aufstellung der Parameter.Die Zeichenkette parameter enthaelt Eintraege wie z.B. * App.OPT_LOCAL_AUDIO oder App.OPT_HDMI_AUDIO. Mehrere Parameter werden mit App.BLANK getrennt. * @param urlStr der URL der Quelle, die abgespielt werden soll * @param parameter die Parameter, die vom omxplayer angewendet werden sollen * @param token * @return Antwort des Servers */ /* public String abspielenMitParametern(String urlStr, String parameter, String token) { return abspielenMitParameternUndRueckmeldung(urlStr, parameter, null, token); } */ String abspielen(String urlStr, String parameter, String meldeUrlStr, String token); /** * Dem laufenden Abspielprozess ein Kommando uebermitteln * @param k das Kommando laut * Liste der Kommandos * @return die Antwort des Servers */ String kommando(String k); StringBuilder buildParams(HttpExchange t, Map m); String getParam(Map map, String key); /* ------ Implementierung ProzessLauscher ----------------- */ void prozessBeendet(String meldeUrlStr); /** * Einen eventuell laufenden Abspielprozess beenden und den * Servlet-Kontext bereinigen.Diese Methode kann auch verwendet werden, wenn es beim normalen Abspielen zu Fehlern kommt und womoeglich der Servlet-Kontext noch eine Referenz zu einem Abspielprozess enthaelt, die nicht mehr aktuell ist. * * Mit der Methode tilgen kann man eine solche Referenz entfernen und gibt so das Objekt wieder frei fuer die Ausfuehrung weiterer Kommandos. * * @return die Antwort des Servers */ String tilgen(); }