From b16b544a3982da609564491ac207e74c0e121c25 Mon Sep 17 00:00:00 2001
From: undisclosed
Date: Sat, 31 Dec 2022 16:09:31 +0000
Subject: [PATCH] VLC Basiskommandos play, pause, stop eingebaut

---
 src/de/uhilger/calypso/handler/BasePlayer.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/src/de/uhilger/calypso/handler/BasePlayer.java b/src/de/uhilger/calypso/handler/BasePlayer.java
index 28a052d..19576a4 100644
--- a/src/de/uhilger/calypso/handler/BasePlayer.java
+++ b/src/de/uhilger/calypso/handler/BasePlayer.java
@@ -2,9 +2,14 @@
 
 import de.uhilger.calypso.App;
 import static de.uhilger.calypso.handler.OMXPlayer.CMD_STOP;
+import java.io.BufferedWriter;
 import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -16,6 +21,9 @@
   
   private static final Logger logger = Logger.getLogger(BasePlayer.class.getName());
   
+  public static final String F_PLAY = "play";
+  public static final String F_PING = "ping";
+
   
   @Override
   public void prozessBeendet(String meldeUrlStr) {
@@ -62,5 +70,46 @@
     }
     return antwort;
   }
-    
+
+    public String getParam(Map map, String key) {
+    Object o = map.get(key);
+    if(o != null) {
+      return o.toString();
+    } else {
+      return null;
+    }
+  }
+  
+  /**
+   * 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
+   */
+  @Override
+  public String kommando(String k) {
+    String antwort; // = null;
+    try {
+      //Object o = t.getAttribute(App.PI_PLAYER);
+      Process o = App.getPlayerProcess();
+      if(o == null) {
+        //App.setPlayerProcess(null);
+        //servletContext.removeAttribute(PI_PLAYER);
+        //t.setAttribute(App.PI_PLAYER, null);
+        antwort = "Es wird nichts abgespielt dem ein Kommando gesendet werden kann.";
+      } else {
+        Process player_process = o;
+        OutputStream os = player_process.getOutputStream();
+        Writer out = new BufferedWriter(new OutputStreamWriter(os));
+        out.write(k);
+        out.flush();
+        antwort = "Kommando '" + k + "' ausgefuehrt.";
+      }
+    } 
+    catch(IOException ex) {
+      antwort = "Fehler: " + ex.getMessage();
+    }
+    return antwort;
+  }
+
 }

--
Gitblit v1.9.3