AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi iTunes-Track herausfinden

iTunes-Track herausfinden

Ein Thema von CalganX · begonnen am 19. Aug 2005 · letzter Beitrag vom 3. Apr 2007
Antwort Antwort
Seite 1 von 2  1 2   
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

iTunes-Track herausfinden

  Alt 19. Aug 2005, 17:04
Hi,
ganz so einfach, wie der Titel es scheinen lässt, ist es auch wieder nicht.
Ich versuche gerade ein wenig mit der iTunes-COM-API herumzuspielen. Soweit funktioniert das auch ganz akzeptabel, aber es hakt bei einer Sache:

In einem Event erhalte ich als Parameter eine ID eines Tracks in Form eines OleVariants. Darüber ist es irgendwie Möglichkeit eine Variable vom Typ IITTrack zu erhalten. Da ich das nicht so ganz kapiert habe, habe ich mal gesucht und im CodeProject auch was gefunden.
Dort steht für C#:
Code:
protected void myiTunes_OnPlayerPlayEvent(object iTrack)
{
  string myArtist, myName;

  IITTrack myTrack = (IITTrack) iTrack;
  myArtist = myTrack.Artist;
  myName = myTrack.Name;
}
Ich hab's ausprobiert: das funktioniert wirklich.

Also dachte ich mir, dass es unter Delphi ja fast genauso gehen könnte:
Delphi-Quellcode:
procedure TEventHandler.OnPlayerPlayEvent(Sender: TObject; iTrack: OleVariant);
var
  Track: IITTrack;
begin
  {Einen Track aus iTunes Anhand der ID finden}
  Track := IITTrack(iTrack); {Zeile 54}

  // ...
end;
Doch leider funktioniert das nicht mit dem Fehler
Fehlermeldung:
[Fehler] uITunes.pas(54): E2089 Ungültige Typumwandlung


Hat jemand eine zündende dafür?

Chris
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: iTunes-Track herausfinden

  Alt 19. Aug 2005, 18:14
Delphi-Quellcode:
procedure TEventHandler.OnPlayerPlayEvent(Sender: TObject; iTrack: OleVariant);
var
  Track: IITTrack;
begin
  // kleine Sicherheitsüberprüfung
  Assert(VarType(iTrack) = varDispatch);

  // umwandeln
  Track := IDispatch(iTrack) as IITTrack;
Andreas
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: iTunes-Track herausfinden

  Alt 19. Aug 2005, 18:22
Hi,
yeah, danke dir!
Scheint zu funktionieren.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von jakobwenzel
jakobwenzel

Registriert seit: 31. Aug 2005
Ort: Ingelheim am Rhein
141 Beiträge
 
FreePascal / Lazarus
 
#4

Re: iTunes-Track herausfinden

  Alt 6. Nov 2005, 16:10
Kannst du bitte mal den gesamten Quellcode posten, denn ich habe das Problem, dass ich nicht verstehe, wie man die Ereignisse von iTunes implementieren muss.
Jakob Wenzel
"My store now sells Ninja Weapons!"
Comicverkäufer bei den Simpsons
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: iTunes-Track herausfinden

  Alt 6. Nov 2005, 16:58
Hi,
guck dir mal diesen Thread an. Mit dem verlinkten Tool (EventSinkImp) kannst du dir eine Unit erstellen, die alle Events so wrappt, dass du sie einfacher verwenden kannst.

Wenn du dann die Typenbibliothek und die neue Unit in deine Uses eingefügt hast, kannst du dir die Unit im Anhang ansehen (!). Direktes Weiterverwenden der Unit untersagt.

Chris
Angehängte Dateien
Dateityp: pas uitunes_109.pas (3,3 KB, 97x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von jakobwenzel
jakobwenzel

Registriert seit: 31. Aug 2005
Ort: Ingelheim am Rhein
141 Beiträge
 
FreePascal / Lazarus
 
#6

Re: iTunes-Track herausfinden

  Alt 6. Nov 2005, 18:08
Ich glaub, dass das bei mir nich geht. Ich hab nur die Personal-Version von Delphi, und da gibt es das Tool TLibImp.exe anscheinend nicht, von dem EventSinkImp wird es aber benötigt. Das heißt, es klappt nicht. Könntest du mir bitte den von EventSinkImp erzeugten Quelltext geben?
Jakob Wenzel
"My store now sells Ninja Weapons!"
Comicverkäufer bei den Simpsons
  Mit Zitat antworten Zitat
shockrocker

Registriert seit: 16. Apr 2006
Ort: Karlsruhe
9 Beiträge
 
Delphi 5 Standard
 
#7

Re: iTunes-Track herausfinden

  Alt 29. Apr 2006, 21:33
Zitat von jakobwenzel:
Ich hab nur die Personal-Version von Delphi, und da gibt es das Tool TLibImp.exe anscheinend nicht, von dem EventSinkImp wird es aber benötigt.
ich habe delphi 5 std und da gibts das leider auch nicht - gibts sonst noch nen weg die events einfacher zu wrappen?

gruß
shockrocker
Frederik Trinkmann
  Mit Zitat antworten Zitat
DaCoda

Registriert seit: 21. Jul 2006
Ort: Hamburg
74 Beiträge
 
Delphi 12 Athens
 
#8

Re: iTunes-Track herausfinden

  Alt 24. Okt 2006, 21:05
Ich wüsste auch gerne, wie ich diese Events einbinde...
Alle meine Versuche waren atm. ohne Erfolg....
Hat nicht jemand einen Codeschnipsel ?????
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: iTunes-Track herausfinden

  Alt 24. Okt 2006, 21:34
Zitat von Chakotay1308:
guck dir mal diesen Thread an. Mit dem verlinkten Tool (EventSinkImp) kannst du dir eine Unit erstellen, die alle Events so wrappt, dass du sie einfacher verwenden kannst.
Schreib ich hier süd-aramäisch?
In dem verlinkten Thread ist ein Code-Schnipsel + ein Tool gepostet worden. Damit funktioniert es im Normalfall. Und wenn es trotz Tool nicht funktionieren sollte, wäre ein Formulierung dementsprechend sinnvoll, anstatt zu sagen "geht nicht" ("geht trotz tool nicht" wäre ja schonmal ganz nützlich).

Chris
  Mit Zitat antworten Zitat
DaCoda

Registriert seit: 21. Jul 2006
Ort: Hamburg
74 Beiträge
 
Delphi 12 Athens
 
#10

Re: iTunes-Track herausfinden

  Alt 25. Okt 2006, 15:42
Hallo Chakotay,
Zitat:
Schreib ich hier süd-aramäisch?
Nein, das tust du nicht... Aber ich habe genau dieses Tool und die dabei entstandene Unit getestet...
Und TROTZDEM kommen keine Events an !!!
Ich habe iTunes 7.0.1.8. Die Steuerung klappt einwandfrei, aber eben keine Events...
Und meine Frage war auch simpel, ich fragte ja nicht nach einem Codeschnipsel für Jabber , sondern für iTunes...

Danke für deine Mühen, ich habe alle Threads hier gelesen und auch entsprechendes getestet, nur funzt es nicht, ich weiss atm. nicht wieso. Und ich programmiere seit über 10 Jahren Pascal/Delphi, von daher will ich mal sagen, das ich schon weiss, was ich gemacht habe. Leider muss ich gestehen COM ist momentan Neuland...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz