App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
undisclosed
2023-01-07 2f2aa7d344d41c6d4083149b1ea6b41e7fb1f683
commit | author | age
cfe367 1 /*
U 2  * To change this license header, choose License Headers in Project Properties.
3  * To change this template file, choose Tools | Templates
4  * and open the template in the editor.
5  */
229976 6 package de.uhilger.calypso.handler;
cfe367 7
b16b54 8 import com.sun.net.httpserver.HttpExchange;
229976 9 import de.uhilger.calypso.ProzessLauscher;
b16b54 10 import java.util.Map;
cfe367 11
U 12 /**
13  *
14  * @author ulrich
15  */
16 public interface Player extends ProzessLauscher {
17
18   /**
19    * Einen Prozess zum Abspielen mit dem omxplayer starten
20    * @param urlStr  URL der Quelle, die abgespielt werden soll
21    * @param token
22    * @return Antwort des Servers
23    */
24   /*
25   public String abspielen(String urlStr, String token) {
26   return abspielenMitParametern(urlStr, null, token);
27   }
28    */
29   /*
30   public String abspielenMitRueckmeldung(String urlStr, String meldeUrlStr, String token) {
31   return abspielenMitParameternUndRueckmeldung(urlStr, null, meldeUrlStr, token);
32   }
33    */
34   /**
35    * Einen Prozess zum Abspielen mit dem omxplayer starten
36    * und Parameter uebergeben.Moegliche Parameter fuer das Abspielen mit dem omxplayer
37   beschreibt die Seite
38   <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.
39    * App.OPT_LOCAL_AUDIO oder App.OPT_HDMI_AUDIO.
40   Mehrere Parameter werden mit App.BLANK getrennt.
41    * @param urlStr  der URL der Quelle, die abgespielt werden soll
42    * @param parameter  die Parameter, die vom omxplayer angewendet werden sollen
43    * @param token
44    * @return Antwort des Servers
45    */
46   /*
47   public String abspielenMitParametern(String urlStr, String parameter, String token) {
48   return abspielenMitParameternUndRueckmeldung(urlStr, parameter, null, token);
49   }
50    */
51   String abspielen(String urlStr, String parameter, String meldeUrlStr, String token);
52
53   /**
54    * Dem laufenden Abspielprozess ein Kommando uebermitteln
55    * @param k  das Kommando laut
56    * <a href="https://github.com/huceke/omxplayer/blob/master/README.md" target="_blank">Liste der Kommandos</a>
57    * @return die Antwort des Servers
58    */
59   String kommando(String k);
b16b54 60   
U 61   StringBuilder buildParams(HttpExchange t, Map m);
62   
63   String getParam(Map map, String key);
cfe367 64
U 65   /* ------ Implementierung ProzessLauscher ----------------- */
66   void prozessBeendet(String meldeUrlStr);
67
68   /**
69    * Einen eventuell laufenden Abspielprozess beenden und den
70    * Servlet-Kontext bereinigen.Diese Methode kann auch verwendet werden, wenn es beim normalen
71   Abspielen zu Fehlern kommt und womoeglich der Servlet-Kontext noch
72   eine Referenz zu einem Abspielprozess enthaelt, die nicht mehr
73   aktuell ist.
74    *
75    * Mit der Methode tilgen kann man eine solche Referenz
76   entfernen und gibt so das Objekt wieder frei fuer die Ausfuehrung
77   weiterer Kommandos.
78    *
79    * @return die Antwort des Servers
80    */
81   String tilgen();
82   
83 }