src/de/uhilger/tango/api/ListFileHandler.java | ●●●●● patch | view | raw | blame | history | |
src/de/uhilger/tango/api/MediaSteuerung.java | ●●●●● patch | view | raw | blame | history | |
src/de/uhilger/tango/api/StreamHandler.java | ●●●●● patch | view | raw | blame | history |
src/de/uhilger/tango/api/ListFileHandler.java
@@ -43,8 +43,45 @@ import org.farng.mp3.id3.ID3v1; /** * * @author ulrich * Die Klasse ListFileHandler gibt die Media-Inhalte eines Ablageortes * als Liste aus. Audio-Inhalte werden dabei unter Verwendung von * Informationen aus ID3-Tags dargestellt, z.B. Artist, Album, Titel, * sofern solche vorhanden sind. Zudem werden nur diejenigen Inahlte * ausgegeben, die Dateierweiterungen besitzen, wie sie in der FileStorage * unter 'Einstellung' unter audioexts, videoexts und imageexts angegeben * sind (die Namen der Einstellungen sind ueber das Resource Bundle von * Tango ueber RB_AUDIOEXTS, RB_VIDEOEXTS und RB_FOTOEXTS veraenderbar). * * Ein ListFileHandler gibt dann fuer Ordner den Inhalt als Liste aus und * Streamt den Inhalt von Dateien. * * Der ListFileHandler modelliert das Verhalten, das auf der Bedienoberflaeche * von Tango in der Konfiguration als 'Kataloge' angelegt werden kann. Die * HTTP Servicepunkte ergeben sich aus den Ablageort-Objekten die fuer * Kataloge vom Benutzer in der Konfiguration angelegt werden. * * Der vom Benutzer gewaehlte URL eines Ablagortes wird vom ListFileHandler zu * dem Pfad des Ablageortes hin verknuepft. So ergibt sich fuer jeden * ListFileHandler der Endpunkt * * HTTP GET http://mein-server/tango/[Ablageort-URL]/ * * Ist z.B. Audio und Video unter dem Pfad /media/extssd/mc abgelegt, kann * ein Ablageort namens 'AV' den URL /media fuer diesen Pfad definieren. Dann verweist * * http://mein-server/tango/media/ * * auf den Inhalt unter /media/extssd/mc * * Hierbei wird der Inhalt unter dem Katalognamen 'AV' in der Bedienoberflaeche von * Tango dargestellt, d.h., die Auswahl von 'AV' an der Bedienoberflaeche bewirkt * 'unter der Haube' den Abruf von http://mein-server/tango/media/ * * Selbstverstaendlich kann aber dieser URL auch von ueberallher verwendet werden. * Die Verknuepfung zwischen Katalogname und URL besteht nur an der Bedienoberflaeche * von Tango. * * @author Ulrich Hilger */ public class ListFileHandler extends FileHandler { src/de/uhilger/tango/api/MediaSteuerung.java
@@ -58,6 +58,15 @@ * 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 src/de/uhilger/tango/api/StreamHandler.java
New file @@ -0,0 +1,22 @@ package de.uhilger.tango.api; /** * Der StreamHandler liefert ganze Abspiellisten als einzelnen Stream aus. * Die in Tango mit dem ListHandler erstellen Abspiellisten werden als ein * zusammenhaengender Stream ausgegeben. * * HTTP GET /tango/api/stream/play/liste/[name] * * HTTP GET /tango/api/stream/pause/liste/[name] * HTTP GET /tango/api/stream/stop/liste/[name] * HTTP GET /tango/api/stream/seek/liste/[name]/[sekunden] * * Die Funktionen des StreamHandlers ergaenzen so die Ausgabe * einzelner Media-Dateien als Stream, wie sie mit dem FileHandler und * seinen Subklassen sowie mit der MediaSteuerung erfolgen. * * @author Ulrich Hilger */ public class StreamHandler { }