App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
ulrich
2021-03-29 cfe3676d7c9667824c52bb5e5c782d4a9a89b672
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  */
6 package de.uhilger.avdirektor.handler;
7
8 import de.uhilger.avdirektor.ProzessLauscher;
9
10 /**
11  *
12  * @author ulrich
13  */
14 public interface Player extends ProzessLauscher {
15
16   /**
17    * Einen Prozess zum Abspielen mit dem omxplayer starten
18    * @param urlStr  URL der Quelle, die abgespielt werden soll
19    * @param token
20    * @return Antwort des Servers
21    */
22   /*
23   public String abspielen(String urlStr, String token) {
24   return abspielenMitParametern(urlStr, null, token);
25   }
26    */
27   /*
28   public String abspielenMitRueckmeldung(String urlStr, String meldeUrlStr, String token) {
29   return abspielenMitParameternUndRueckmeldung(urlStr, null, meldeUrlStr, token);
30   }
31    */
32   /**
33    * Einen Prozess zum Abspielen mit dem omxplayer starten
34    * und Parameter uebergeben.Moegliche Parameter fuer das Abspielen mit dem omxplayer
35   beschreibt die Seite
36   <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.
37    * App.OPT_LOCAL_AUDIO oder App.OPT_HDMI_AUDIO.
38   Mehrere Parameter werden mit App.BLANK getrennt.
39    * @param urlStr  der URL der Quelle, die abgespielt werden soll
40    * @param parameter  die Parameter, die vom omxplayer angewendet werden sollen
41    * @param token
42    * @return Antwort des Servers
43    */
44   /*
45   public String abspielenMitParametern(String urlStr, String parameter, String token) {
46   return abspielenMitParameternUndRueckmeldung(urlStr, parameter, null, token);
47   }
48    */
49   String abspielen(String urlStr, String parameter, String meldeUrlStr, String token);
50
51   /**
52    * Dem laufenden Abspielprozess ein Kommando uebermitteln
53    * @param k  das Kommando laut
54    * <a href="https://github.com/huceke/omxplayer/blob/master/README.md" target="_blank">Liste der Kommandos</a>
55    * @return die Antwort des Servers
56    */
57   String kommando(String k);
58
59   /* ------ Implementierung ProzessLauscher ----------------- */
60   void prozessBeendet(String meldeUrlStr);
61
62   /**
63    * Einen eventuell laufenden Abspielprozess beenden und den
64    * Servlet-Kontext bereinigen.Diese Methode kann auch verwendet werden, wenn es beim normalen
65   Abspielen zu Fehlern kommt und womoeglich der Servlet-Kontext noch
66   eine Referenz zu einem Abspielprozess enthaelt, die nicht mehr
67   aktuell ist.
68    *
69    * Mit der Methode tilgen kann man eine solche Referenz
70   entfernen und gibt so das Objekt wieder frei fuer die Ausfuehrung
71   weiterer Kommandos.
72    *
73    * @return die Antwort des Servers
74    */
75   String tilgen();
76   
77 }