Hilfe zu steuerbaren Slider in Webfront

Hallo Jungs,

ich bräuchte mal eure Hilfe.

Ich suche eine Möglichkeit einen flexiblen Slider im Webfront darzustellen.

Die vorhandene Möglichkeit über ein Profil kann ich leider nicht nutzen da sich der Maximalwert zu jederzeit ändern kann.

Jetzt dachte ich an eine HTML-Box die dynamisch, also gesteuert gefüllt wird, evtl über eine Tabelle.

Hätte hier mal jemand einen Vorschlag für mich, ich sitze gerade richtig auf dem Denkschlauch.

Um die Sinnhaftigkeit zu erklären. Ich möchte für meine Squeezebox eben diesen Slider haben der mir in der gesamten Breite die Dauer und eben den gefüllten Bereich die aktuelle Position des Titels anzeigt.

Hoffe ich habe mich verständlich ausgedrückt.

Sollte aber dennoch gehen, erfordert nur ein neu laden der Weboberfläche. Damit sind wir bei dem störenden Effekt das sich Dein Frontend immer neu läd.

Wäre nicht ggf. über eine Variable die Berechnung und Anzeige der Restzeit sinnvoller?

Hi mäc,

die beiden Variablen „aktuelle Position“ & „Duration“ sind bereits in IPS. „Aktuelle Position“ wird auch alle 2 Sekunden upgedatet.

Ich denke das geht über ein dynamisches Image mit %-width, aber ich habe da noch ein Denkfehler.

Und alle 2 Sekunden das Webfront laden ist nicht wirklich toll:D

Hallo,
wenn der „Slider“ nicht zu bedienen sein muss, hätte ich eine einfache Lösung (habe ich gerade für mein Sonos gebaut). Die Liedlänge wird dabei dabei als100% genutzt:


// Calculate Percent Played Bar

$Percent_Played= (int) (time_to_sec(br_objGetVar($ParentID ,"Position")) / time_to_sec(br_objGetVar($ParentID ,"Duration")) *100);
$PercentBar= "[";
for ($i=1; $i<=(0.25*$Percent_Played-1);$i++) $PercentBar=$PercentBar. "-";
$PercentBar=$PercentBar. "|";

for ($i=(0.25*$Percent_Played-1); $i<=25;$i++) $PercentBar=$PercentBar. "-";

$PercentBar=$PercentBar. "]";
echo $PercentBar;

// Set HTMl info

$HTMLInfo = "<table border=0><tr><td colspan=\"2\">"
. "[". br_objGetVar($ParentID ,"AlbumTrackNum"). "]  <b>" . br_objGetVar($ParentID ,"Title") . "</b> "
. "</td></tr><tr><td width=\"50%\">"
. "" . br_objGetVar($ParentID ,"Artist") . " </td><td width=\"50%\"> " . br_objGetVar($ParentID ,"Album")
. "</td></tr><tr><td>"
. "(". sec_to_time(time_to_sec(br_objGetVar($ParentID ,"Position"))). "/" 
. sec_to_time(time_to_sec(br_objGetVar($ParentID ,"Duration"))) . ") " 
// Look at br_timeanddate.inc.php
. "</td> <td>"
. $PercentBar
. "</td></tr></table> <br>";

// u.g. ist eine Variable mit Profil HTMLBOX
SetValueString($id_Info, $HTMLInfo);

Output sieht so aus:

Die verwendeten Hilfsfunktionen (für die Zeit):

<?php
// Source http://php.net/manual/en/book.datetime.php

function time_to_sec($time) {
$hours = substr($time, 0, -6);
$minutes = substr($time, -5, 2);
$seconds = substr($time, -2);

return $hours * 3600 + $minutes * 60 + $seconds;
}

function sec_to_time($seconds) {
$hours = floor($seconds / 3600);
$minutes = floor($seconds % 3600 / 60);
$seconds = $seconds % 60;

return sprintf("%02d:%02d:%02d", $hours, $minutes, $seconds);
}
?>

Viele Grüße, Benjamin

Danke Benjamin,

nette Idee.

Den Slider habe ich ja auch bereits gebaut, sogar in IPS-Design, doch der läßt sich wie deiner auch nicht bedienen :mad:

Die Frage die ich Horst gerne nochmals stellen möchte…

… Könnte man den Slider nicht als Option auf jede Integervariable einbauen.

Ja, ich hab gerade noch Deinen Thread im Webfront dazu gefunden.

Wenn ich mich mit der Anzeige Prozent Liedlänge anfreunde könnte ich also auch die Anzeige als richtigen IPS Slider erreichen, wenn ich den Suffix richtig auf % setze? Dann müsste ich mein Rechenergebnis in Prozent z.B. in eine Variable zur Anzeige schreiben.

Viele Grüße, Benjamin

Genau.

Falls Du mein Paket nutzt dann ist es in der inc_squeezebox. Dort ist am Ende eine Functions Names Slider2, die macht die Anpassung der aktuellen Position zur Gesamttitellänge.

Ist ja kein Hexenwerk.

100 / Gesamtlänge * akt. Position = %

Oh… nö ich stricke mir das für meine Sonos Sachen gerade selbst zusammen… :eek:

Vielelicht sollte ich mir Deine Skripte zur Sqeezebox doch mal ansehen… dann würde ich weniger neu erfinden :wink:
Danke für den Hinweis!

Zu meiner Vermutung: hab´s gerade ausprobiert aber für ein angepasstes Volume Profil (da wäre Prozent ja sehr OK; 10er Schritte machen bei mir aber zuviel Lautstärke aus). Klappt mit dem Prozent als Suffix super (ist aber nicht ganz logisch, gebe ich Dir Recht).

Grüße, Benjamin