From 0259f4676a6fad731b4b16b3620c358afdb42fdc Mon Sep 17 00:00:00 2001
From: undisclosed
Date: Sun, 22 Jan 2023 14:32:22 +0000
Subject: [PATCH] Experimentell: JavaScript-Player fuer 'hier spielen' bei Abspiellisten
---
src/de/uhilger/tango/api/MediaSteuerung.java | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/src/de/uhilger/tango/api/MediaSteuerung.java b/src/de/uhilger/tango/api/MediaSteuerung.java
index 7d3fda7..7c0c3bd 100644
--- a/src/de/uhilger/tango/api/MediaSteuerung.java
+++ b/src/de/uhilger/tango/api/MediaSteuerung.java
@@ -53,10 +53,20 @@
*
* HTTP GET /mz/api/strg/abspieler/pause
* HTTP GET /mz/api/strg/abspieler/stop
+ * HTTP GET /mz/api/strg/abspieler/seek/[sekunden]
*
* Faustregel: Anzahl Elemente eines URL plus 1 ist die Anzahl der Elemente des
* Ergebnisses von String.split.
*
+ * Mit der Funktion ende liefert die MediaSteuerung die Moeglichkeit, Titel aus
+ * einer Abspielliste gesteuert von Tango abzuspielen. Die Nutzung der Funktion wird
+ * ausgeloest vom Aufruf an abspieler/play/liste/[name]. Tango erwartet dann von einem
+ * Abspieler die Rueckmeldung, dass dieser den zuletzt von Tango an den
+ * Abspieler zum Abspielen uebermittelten Titel zuende abgespielt hat. Tango
+ * uebergibt dem Abspieler dann den naechsten Titel, bis die Abspielliste zuende ist.
+ *
+ * Diese Form unterscheidet sich vom Abspielen einer Abspielliste als einzelner
+ * Stream, wie es vom StreamHandler realisiert wird.
*
* @author Ulrich Hilger
* @version 1, 9.4.2021
@@ -66,6 +76,7 @@
private static final Logger logger = Logger.getLogger(MediaSteuerung.class.getName());
public static final String PL_CMD_PLAY = "play";
+ public static final String PL_CMD_SEEK = "seek";
public static final String PL_DEFAULT_PARAMS = "?titel=";
public static final String PL_PARAM_RUECK = "&r=";
public static final String PL_API_STRG = "api/strg/";
@@ -122,6 +133,14 @@
response = meldung("Ungueltiges Kommando: " + elems[5], AbstractHandler.RTC_NOT_FOUND);
}
break;
+ case 7:
+ if (elems[5].equalsIgnoreCase(PL_CMD_SEEK)) {
+ // /calypso/seek?pos=[sekunden]
+ response = kommandoSenden(fs, elems[4], "seek?pos=" + elems[6]);
+ } else {
+ response = meldung("Ungueltiges Kommando: " + elems[5], AbstractHandler.RTC_NOT_FOUND);
+ }
+ break;
case 8:
response = ersterTitel(fs, elems[4], elems[7]);
break;
--
Gitblit v1.9.3