/*
|
* 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
|
<a href="https://github.com/huceke/omxplayer/blob/master/README.md"target="_blank">Aufstellung der Parameter</a>.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
|
* <a href="https://github.com/huceke/omxplayer/blob/master/README.md" target="_blank">Liste der Kommandos</a>
|
* @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();
|
|
}
|