App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
undisclosed
2022-12-31 b16b544a3982da609564491ac207e74c0e121c25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
 * 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();
  
}