Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi iTunes-Track herausfinden (https://www.delphipraxis.net/51826-itunes-track-herausfinden.html)

DaCoda 26. Okt 2006 09:13

Re: iTunes-Track herausfinden
 
So hier habe ich mein Testsource mal angehängt:
Delphi-Quellcode:
unit MainForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, iTunesLib_TLB, iTunesLibEvents, ExtCtrls, StdCtrls;

type
  TfrmMain = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure TrackChangedEvent(Sender: TObject; iTrack: OleVariant);
  private
    iTunesApp: IiTunes;
    EventManager: TiTunesLibIiTunesEvents;
  public
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  iTunesApp := COiTunesApp.Create;
  EventManager := TiTunesLibIiTunesEvents.Create(Self);
  EventManager.OnPlayerPlayingTrackChangedEvent := TrackChangedEvent;
  EventManager.Connect(iTunesApp);
end;

procedure TfrmMain.TrackChangedEvent(Sender: TObject; iTrack: OleVariant);
var
  Track: IITTrack;
begin
  Assert(VarType(iTrack) = varDispatch);
  Track := IDispatch(iTrack) as IITTrack;
  Label1.Caption := Track.Album;
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
  EventManager.Disconnect;
  FreeAndNil(EventManager);
//  iTunesApp.Quit;
  iTunesApp := nil;
end;

end.
Und das Event kommt nicht ????? Ich weiss wirklich nicht, was hier falsch sein sollte....

CalganX 26. Okt 2006 14:05

Re: iTunes-Track herausfinden
 
Hi,
da ich im Moment nur eine Turbo-Version hab, mit der ich keine Typbibliothek einbinden kann, müsste ich erstmal raten:
ich vermute mal, dass du erst connecten musst, um dann das Ereignis zuzuweisen...

Chris

DaCoda 27. Okt 2006 11:40

Re: iTunes-Track herausfinden
 
Hi,

erst Connect und dann das Ereignis initiieren habe ich auch schon gemacht...
Ich benutze ja auch Turbo-Delphi... Units kannst du ja einbinden und dann create() etc...

Naja ich brauche das ja nicht dringend, ist nur um mich in das Thema einzuarbeiten. Wollte ein kleines Tool, like MyFairTunes basteln, jedoch mit vielen kleinen Tools, wie z.B. alle Tracks ohne Artwork anzeigen etc....

Ich denke irgendwann finde ich einen weg für die Events...

Danke erst mal, würde mich freuen, wenn jemand einen guten Tip hat. Sollte ich vorher was finden, werde ich es hier Posten...

OldGrumpy 3. Apr 2007 09:06

Re: iTunes-Track herausfinden
 
Ahoi... sorry für die späte Antwort, aber ich hatte den Thread überhaupt nicht gesehen. Für die Akten: In der erwähnten iTunes-Version gehen Events gar nicht, muss wohl ein Bug gewesen sein. Das war aber nicht der einzige Bug :) Ich hab zu der Zeit an einem Projekt gearbeitet wo es unter anderem auch um die Interaktion mit iTunes ging - ich habe mir tagelang die Haare gerauft bis ich dann letzten Endes in langen Debuggingsessions rausgefunden hatte, dass iTunes 7.0.0.18 da gar keine Events sendet. Das war besonders übel weil ich einen Releasetermin zu halten hatte und an dem Problem gar nichts machen konnte. Inzwischen sollte das aber behoben sein, wenn ich mich recht entsinne erschien dann irgendwann ne neuere Version in der es wieder ging...


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr.
Seite 2 von 2     12   

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