iTunes Klasse ohne extra Software

Hallo,
habe eine Klasse und eine Seite für iTunes erstellt, mit der man iTunes Fernsteuern kann.
Die Seite zeigt alle Playlists an und man kann die Titel selektieren. Eine einfache Steuerung ist auch schon drin. Als Schnittstelle wird das COM interface von iTunes verwendet. Einfach zip datei in Webserverordner entpacken und Link
in der Webgkonfiguration auf die iTunes.php anlegen. Werde das ganze in nächster Zeit noch erweitern. Im moment fehlt noch ne Anzeige für den laufenden Track, Zeit usw, werde da demnächst mal noch ne AJAX implementierung Nachreichen.

Grüße
Marcus

ituneswebfrontV1.2.zip (269 KB)

Eine Version mit Ajax Unterstützung,
wenn das ganze nicht Funktioniert, bitte kontrollieren ob unter Systemsteuerung->Verwaltung->Komponentendienste die Rechte für den COM Komponenten richtig gesetzt sind (Sprich das der User des Webservers rechte zum starten und den zugriff hat) Unter Komponenetendienste->Computer->Arbeitsplatz->DCOM->iTunes.

Änderungen:

  • Zugriffe auf iTunes erfolgen nun über JavaScript und AJAX (Prototype)
  • Text für Track und Laufzeit werden angezeigt und aktualisiert

Known Bugs:
Ist kein Track in iTunes ausgewählt so kommt aktuell noch in der Trackansicht eine Fehlermeldung.

Hinweis
Wenn man sich eine Playlist in iTunes mit Webradios anlegt, kann auch die Wiedergabe von Webradios gestartet werden.

Hallo Marcus,
weißt Du ob iTunes die Nutzung von Airplay über die Schnittstelle unterstützt, die Du nutzt? Das wäre ja klasse, da man so einen Streaming-Client direkt über IPS ansprechen könnte.

Grüße
Matthias

Hi Matthias,
hab sie in der Apple Konfiguration leider nicht gefunden. Setzte bei mir Airfoil ein, dieses Besitzt zwar auch ne COM Schnittstelle, die leider aber etwas Buggy scheint, da bin ich aber grad noch dran… Hoffe das sich da was tut. Werde in den nächsten Tagen mal noch die Unterstützung für CoverArt Nachreichen. Wenn ich ne Lösung für AirPlay bzw. AirTunes finden würde, würde ich bescheid sagen.

Grüße
Marcus

Download ist im ersten Eintrag zu finden.
Änderungen:

  • Sind in iTUnes Coverarts vorhanden, werden diese nun angezeigt
  • Lautstärke kann nun eingestellt werden.
  • Update Zeiten für Cover und Titel und Zeit auf 3 Sekunden gesetzt

Problem ist das das erzeugen des COM Objekts recht viel Rechenleistung in anspruch nimmt, deswegen habe ich nun das ganze als ein Request gestaltet, das hat die Systemlast etwas runtergebracht…

Known Bugs:
Ist kein Track in iTunes ausgewählt so kommt aktuell noch in der Trackansicht eine Fehlermeldung.

Offen:

  • Aktualisierung der Zeit Sekunden genau über JS über Dummy script hochzählen bis zur nächsten Abfrage

  • Steuerung von AirPlay/AirTunes oder AirFoil… bis jetzt nichts neues.

Hallo, leider verstehe ich als Anfänger nicht was du damit meinst. ( und Link in der Webgkonfiguration auf die iTunes.php anlegen) Ich finde im Webkonfigurator keine Möglichkeit einen Link anzulegen.
Oder ist es einfach zu früh und habe ein Brett vorm Kopf?
Danke für die Hilfe!
Armin

Hallo,
einfach das Verzeichnis nach z.B. C:/ip-symcon/webfront/user/ kopieren und dann eine „externe Seite“ im Webfront mit user/itunes/itunes.php als Ziel anlegen.

Grüße
Marcus

Hallo Marcus,

muss ich ausser dem Kopieren und der Kontrolle der Rechte noch etwas beachten ? Bekomme leider einen Fehler :

Failed to create com Objekt ‚itunes.Application‘ : Klasse nicht registriert .

Für einen Tip wäre ich dankbar

Gruss Thomas

es ist ein User-/Rechteproblem.

Hat zufällig jemand eine Idee welcher User vom Webserver des IPS genutzt wird, damit ich den hinzufügen kann. Solange ich eine Remoteverbindnug zu dem IPS Rechner offen habe funktioniert es und auf dem IPS Rechner selbst natürlich auch, nur nur per Zugriff über Browser von anderen Rechnern.

danke

Eine Frage abseits: Wie findet man den die COM-Interfaces von Programmen raus?

was meinst du genau ? Die Interfacebeschreibung, also die Liste der Befehle ?

Ja, das wäre auch noch interessant. Ich meinte eher wie ich herrausfinde welche Programme noch solche Schnittstellen bieten?

Tja… da bin ich sicher nicht der kompetente Ansprechpartner …

in den SDKs findest du es und unter Verwaltung --> Komponentendienste --> … DCOM.

denke aber du brauchst auf jeden Fall die SDKs dafür, sonst nutzt dir das reine Wissen einer Schnittstelle nix. Aber wie gesagt, da gibt es sicher Leute hier, die sich deutlich besser auskennen :cool:

Hm, bekomme ich nicht zum laufen.

new COM('iTunes.Application');
Fatal error: Maximum execution time of 30 seconds exceeded in [TESTER\iTunes	est] on line 0

Hallo,
sorry das ich die Fragen zu den Skripten nicht beantwortet habe. Bin gerade an einer alternativ Lösung… Also ich habe immer wieder das Problem das IPS bzw. iTUnes hohe AUslastungen generieren wenn ich das COM Objekt von iTunes unter PHP anspreche, zweitens ist das Problem das ich meine AirPort Express nicht Steuern kann (Fehlende AirPlay unterstützung). Aus diesen Gründen habe ich mich nach alternativen umgesehen die diese Einschränkungen nicht aufweisen…
Ich habe angefangen auf Basis der tunesRemote-SE Implementierung einen Soap Server zu implementieren, dieser kann im Moment (saß heute Abend mal dran) d.h. übers WE bzw. nächste Woch sollte sich da noch was tun, würde dazu dann auch einen neuen Thread aufmachen.
Grüße
Marcus

Hallo,

gehe ich richtig davon aus, dass sich iTunes lokal auf dem IPS PC befinden muss?!

Remote Zugriff auf mein Mac Mini iTunes wäre spitze (aber wohl unwahrscheinlich) :o.

Gruß
Thorsten

Hall Thorsten, bei der Lösung über die COM API geht’s nur lokal, bei der Lösung an der ich gerade dran bin Funktionierts auch übers Netz, man gibt beim starten des Soap Servers die ip des iTunes Rechners an und kann Dan drauf zugreifen. (muss nur einmal am iTunes die Pin eingeben, wie bei der Remote app). Der soap Server ist Java und kann sowohl unter Mac als auch unter Windows laufen, und kann recht einfach von php/ips aus angesprochen werden. Im Moment tüftle ich noch an den Datenformaten die ich per Soap zu Verfügung stelle, damit es einfach zu handhaben ist und trotzdem schnell. Die AirPort Express kann ich schon auslesen, morgen kommt das Werte setzten dran. Es wird ein paar Funktionen für Ansagen geben die nur funktionieren werden wenn ips und iTunes auf dem selben Rechner laufen…
Grüße Marcus

Bei iTunes gibt’s die Beschreibung übers Apple. Developer Network, bei office über die msdn, sonst beim Softwaregersteller fragen…

Hallo Marcus,

das klingt gut.
Vielen Dank für deinen iTunes Programmiereinsatz :).

Gruß
Thorsten