Hallo an Alle!
Ich bin dabei, eine Art "Now Playing ..." Screen zu erstellen, den man mittels Browser anzeigen lassen kann. Sinn und Zweck ist es, bei Partys per WLAN Daten über den aktuellen Titel zur Verfügung zu stellen.
Wie man sieht, funktioniert das Ganze schon recht gut. Leider gibt es jedoch ein Problem, wenn in dem Verzeichnis mehr als ein Bild liegt.
Im Script habe eine Datenbankabfrage erstellt, die mir die ARTIDS zum aktuelle Titel ausgibt. Liegt nur ein Bild im Verzeichnis gibt es nur ein Ergebnis in Form von "8790". Sind mehrere bIlder vorhanden gibt es als Ergebnis "8790 8791 8792".
Mein Problem ist jetzt, das Ergebnis zu trennen, also drei Einzelwerte zu bekommen. Diese Einzelwerte muss ich dann anschließen prüfen, welche davon das Cover ist. Da bei mir jedes Cover "folder.jpg" heißt ist das eigentlich nur eine Formsache.
Oder gibt es eine einfachere Möglichkeit, nur das Verzeichnis des aktuell gespielten Titel abzufragen?
In der Datenbank von Silverjuke habe ich kein entsprechendes Feld gefunden.
Den Code-Schnipsel für die Datenbankabfrage füge ich unten bei.
Hoffe auf HIlfe.
Gruß
Greyhound
PS. Wenn das ganze funktioniert und interesse besteht stelle ich das fertige Script inkl. Beschreibung natürlich zu Verfügung.
CODE
var db = new Database;
var db2 = new Database;
var quoteExpr = new RegExp("'", "g");
try {
db.openQuery("select artids from tracks where url='"+url.replace(quoteExpr,"''")+"';");
if( db.nextRecord() )
{
var internid=db.getField(0); // auslesen des Datenbankfeldes
var e=internid.search(" ");
print(e);
if(e=-1)
{var coverid=internid;}
else
{var coverid=internid.substring(0,e);}
db2.openQuery("select url from arts where id='"+coverid.replace(quoteExpr,"''")+"';");
if( db2.nextRecord() )
{
var cover=db2.getField(0); // auslesen des Datenbankfeldes
}
db2.closeQuery();
}
db.closeQuery();
}
catch(err) {
// print('Titelinformationen konnten nicht ausgelesen werden!');
db.closeQuery();
}
"Now Playing ..." als HTML Datei
- greyhound
- Posts: 114
- Joined: 14. Mar 06, 20:06
- Location: NRW [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
"Now Playing ..." als HTML Datei
- Attachments
-
- Anzeige im iPod
- IMG_1021.jpg (214.41 KiB) Viewed 8524 times
Last edited by greyhound on 26. Aug 09, 18:26, edited 1 time in total.
- greyhound
- Posts: 114
- Joined: 14. Mar 06, 20:06
- Location: NRW [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
Re: Verzeichnis des gerade gespielten Liedes
Hi Leute!
habe für mein Problem eine andere Lösung gefunden, die etwas anders funktiniert. Das Script erstellt jetzt eine HTML-Datei, die das Cover sowie den Interpreten, Album und Name des aktuell gespielten Titel darstellt. Dabei wird immer das Cover genommen, das Silverjuke darstellt.
Die Dateien werden in einem Ordner gespeichert, den man in den Einstellungen unter 'Verzeichnis für HTML-Dateien' festlegen kann.
In der beigefügten ZIP-Datei sind folgende Dateien enthalten
- HTML-Info.sj => das eigentliche Script
- dummy.jpg => Platzhalter falls kein Cover vorhanden ist
- x.bat => ein Batch-Datei die mittels xcopy das cover ins HTML-Verzeichnis kopiert
- hfs.exe => HTTP File Server um die Dateien für andere im Netzwerk
zur Verfügung stellen zu können
Nachdem das Script im Silverjuke-Verzeichnis kopiert und gestartet wurde, wird bei jedem Titelwechsel zwei HTML Dateien erstellt. Ein für Standardbrowser und eine optimierte Datei für den IPod.
Damit man per WLAN oder LAN auf die Dateien zugreifen kann, benutze ich das Programm HFS.
Dazu startet man das Programm HFS und zieht per Drag'n'Drop die zwei HTML-Dateien sowie die JPG-Datei auf das Programmfenster von HFS.
Sobald dies geschehen ist, kann man über die interne IP-Adresse auf die Datei zugreifen. Eventuell sind noch Anpassungen am Port bzw. an der Port-Weiterleitung notwendig.
Wird eine Externe IP-Adresse benutzt, können auch Freunde und Bekannte übers Internet auf die Datei zugreifen und sehen was gerade läuft. Dann sollte allerding eine Passwortabfrage bei HFS eingestellt werden.
Die HTML-Datei ist so eingestellt, das sie sich alle 30 sekunden neu lädt. Somit ein ein manueller Reload nicht notwendig.
Ich hoffe, ich habe die Funktionsweise einigermaßen verständlich beschrieben.
Fragen werde ich aber gerne nach besten Wissen und Gewissen beantworten.
CU
Greyhound
PS. Es können natürlich auch weitere Informationen in der HTML-Datei angezeigt werden. Eine Fortschrittsanzeige in Form von Balken oder Zeit ist jedoch nicht möglich, da die Seite dann sekündlich aktuallisiert werden müßte und ebensooft neu geladen.
habe für mein Problem eine andere Lösung gefunden, die etwas anders funktiniert. Das Script erstellt jetzt eine HTML-Datei, die das Cover sowie den Interpreten, Album und Name des aktuell gespielten Titel darstellt. Dabei wird immer das Cover genommen, das Silverjuke darstellt.
Die Dateien werden in einem Ordner gespeichert, den man in den Einstellungen unter 'Verzeichnis für HTML-Dateien' festlegen kann.
In der beigefügten ZIP-Datei sind folgende Dateien enthalten
- HTML-Info.sj => das eigentliche Script
- dummy.jpg => Platzhalter falls kein Cover vorhanden ist
- x.bat => ein Batch-Datei die mittels xcopy das cover ins HTML-Verzeichnis kopiert
- hfs.exe => HTTP File Server um die Dateien für andere im Netzwerk
zur Verfügung stellen zu können
Nachdem das Script im Silverjuke-Verzeichnis kopiert und gestartet wurde, wird bei jedem Titelwechsel zwei HTML Dateien erstellt. Ein für Standardbrowser und eine optimierte Datei für den IPod.
Damit man per WLAN oder LAN auf die Dateien zugreifen kann, benutze ich das Programm HFS.
Dazu startet man das Programm HFS und zieht per Drag'n'Drop die zwei HTML-Dateien sowie die JPG-Datei auf das Programmfenster von HFS.
Sobald dies geschehen ist, kann man über die interne IP-Adresse auf die Datei zugreifen. Eventuell sind noch Anpassungen am Port bzw. an der Port-Weiterleitung notwendig.
Wird eine Externe IP-Adresse benutzt, können auch Freunde und Bekannte übers Internet auf die Datei zugreifen und sehen was gerade läuft. Dann sollte allerding eine Passwortabfrage bei HFS eingestellt werden.
Die HTML-Datei ist so eingestellt, das sie sich alle 30 sekunden neu lädt. Somit ein ein manueller Reload nicht notwendig.
Ich hoffe, ich habe die Funktionsweise einigermaßen verständlich beschrieben.
Fragen werde ich aber gerne nach besten Wissen und Gewissen beantworten.
CU
Greyhound
PS. Es können natürlich auch weitere Informationen in der HTML-Datei angezeigt werden. Eine Fortschrittsanzeige in Form von Balken oder Zeit ist jedoch nicht möglich, da die Seite dann sekündlich aktuallisiert werden müßte und ebensooft neu geladen.
- Attachments
-
- HTML_Script.zip
- Alle notwendigen Dateien
- (551.57 KiB) Downloaded 499 times
-
- Programm starten und die Dateien hineinziehen die freigegeben werden sollen
- hfs.jpg (80.24 KiB) Viewed 8360 times