App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
ulrich
2021-03-22 a7f0a18275d394ff92e44fcce55a511a54535787
commit | author | age
8e2038 1 package de.uhilger.avdirektor;
U 2
3 import java.io.IOException;
4 import java.util.HashMap;
5 import java.util.logging.Level;
6 import java.util.logging.Logger;
7
8 /**
9  *
10  * @author ulrich
11  */
12 public class App {
13   
14   private static final Logger logger = Logger.getLogger(App.class.getName());
15
16   
17   public static final String PI_PLAYER = "pi_player";
18   //public static final String FBI_PROC = "fbi_proc";
19   
20   public static final String CMD_STOP = "q";
21   public static final String CMD_DEC_SPEED = "1";
22   public static final String CMD_INC_SPEED = "2";
23   public static final String CMD_PREV_AUDIO = "j";
24   public static final String CMD_NEXT_AUDIO = "k";
25   public static final String CMD_PREV_CHAPTER = "i";
26   public static final String CMD_NEXT_CHAPTER = "o";
27   public static final String CMD_PREV_SUB = "n";
28   public static final String CMD_NEXT_SUB = "m";
29   public static final String CMD_TOGGLE_SUB = "s";
30   public static final String CMD_PAUSE_RESUME = "p";
31   public static final String CMD_DEC_VOL = "-";
32   public static final String CMD_INC_VOL = "+";
33   
34   public static final String PFEIL_LINKS = "5b44";
35   public static final String PFEIL_RECHTS = "5b43";
36   public static final String PFEIL_HERAUF = "5b41";
37   public static final String PFEIL_HERUNTER = "5b42";
38   
39   public static final String SP_RUECK_30 = "rueck30";
40   public static final String SP_VOR_30 = "rueck30";
41   public static final String SP_VOR_600 = "vor600";
42   public static final String SP_RUECK_600 = "rueck600";  
43
44   public static final String OPT_LOCAL_AUDIO = "-o%20local";
45   public static final String OPT_HDMI_AUDIO = "-o hdmi";
46   
47   public static final String BLANK = " ";
48   
49   private static HashMap initParams;
50   
a7f0a1 51   private static Process playerproc;
U 52   
8e2038 53   /**
U 54    * @param args the command line arguments
55    */
56   public static void main(String[] args) {
57     initParams = new HashMap();
58     for(String arg: args) {
59       //logger.info("arg: " + arg);
60       String[] argParts = arg.split("=");
61       //logger.info(argParts[0]);
62       //logger.info(argParts[1]);
63       initParams.put(argParts[0], argParts[1]);
64     }
65     
66     
67     Server server = new Server(Integer.parseInt(getInitParameter("port")));
68     try {
69       server.start();
70     } catch (IOException ex) {
71       Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex);
72     }
73   }
74   
75   public static void stop() {
76     System.exit(0);
77   }
78   
79   public static String getInitParameter(String pname) {
80     String param = null;
81     Object o = initParams.get(pname);
82     if(o != null) {
83       param = o.toString();
84     }
85     return param;
86   } 
87   
a7f0a1 88   public static Process getPlayerProcess() {
U 89     return playerproc;
90   }
8e2038 91   
a7f0a1 92   public static void setPlayerProcess(Process p) {
U 93     playerproc = p;
94   }
8e2038 95 }