AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

iTunes: Cover extrahieren?

Ein Thema von Z4ppy · begonnen am 10. Okt 2009 · letzter Beitrag vom 20. Okt 2009
Antwort Antwort
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#1

iTunes: Cover extrahieren?

  Alt 10. Okt 2009, 18:57
(Ist wohl sinnvoller, nen neuen Thread zu machen ^^)

Nachdem ich es dank Sir Rufo geschafft habe, diverse Informationen (Dauer, bereits abgespielter Teil des Tracks, etc.) zu dem aktuell in iTunes gespielten Track auszulesen, gehe ich nun noch einen Schritt weiter: Ich möchte gern das Cover aus dem Track holen

Nunja, mit der Software, die mir Sir Rufo hier empfohlen hatte, habe ich herausgefunden, dass über iTunesApp.CurrentTrack.Artwork auf das Cover bzw. auf ein Element des Typs IITArtwork zugreifen kann.
Dieser Typ besitzt eine Methode namens "SaveArtworkToFile".
Also gleich mal versucht, mittels iTunesApp.CurrentTrack.Artwork.SaveArtworkToFile(' C:\imageoO.jpg'); das Cover als Datei zu speichern (wobei ich vorher iTunesApp:=CreateOleObject('iTunes.Application'); aufgerufen hatte), um es dann weiterzuverarbeiten - klappt aber leider nicht :'(
Vom Delphi Debugger kommt folgende Meldung:

---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOleError with message 'Method 'SaveToFile' not supported by automation object'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

Heisst das etwa, dass man Cover nur manuell speichern kann? Das wär ja mal ganz doof

Wie komm ich an das Cover?

MfG Z4ppy

PS.: Natürlich könnte ich den Pfad zur MP3 extrahieren und dann mittels ID3-Tag das Cover irgendwie extrahieren, allerdings weiss ich nicht, ob iTunes das Cover überhaupt in der Datei selbst speichert oder nur im Ordner C:\Users\[username]\Music\iTunes\Album Artwork sichert, was auch sehr gut möglich wäre - immerhin ist dieser Ordner bei mir mit knapp 3300 Titeln im iTunes 128 MB gross...
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

Re: iTunes: Cover extrahieren?

  Alt 10. Okt 2009, 19:13
Danke für die Blumen

Die Cover speichert iTunes unterschiedlich ab.

a) Wenn die Cover direkt über den iTunes-Cover-LookUp-Funktion kommen, dann werden diese separat gespeichert
b) Wenn die Cover manuell zu den Tracks hinzugefügt werden, dann werden diese direkt in der mp3-Datei gespeichert

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: iTunes: Cover extrahieren?

  Alt 10. Okt 2009, 19:24
Cover-LookUp-Funktion = Das Cover wird ausm iTunes Store geladen, oder?

Naja, ich würde mein Programm gern kompatibel mit beidem machen. Mittels IsDownloadedArtwork (wiederum von IITArtwork) kann ich zwar feststellen, ob das ausm iTunes Store stammt. Wenn nicht, kann ich es aus der MP3 extrahieren - aber wie komm ich dran, wenn es über diese Cover-LookUp-Funktion geholt wurde?
Noch besser wär natürlich eine Lösung für beide Wege...

MfG Z4ppy

€dit: Ich hab jetz noch bisschen rumgeguckt in den ganzen COM-Typen usw. und gesehen, dass es wohl eher schwierig wird, an den Pfad zur MP3 zu kommen. Ich hab zumindest bislang keine Eigenschaft gefunden, die das beinhalten könnte. Das würde dann zur Folge haben, dass man die komplette MusicLibrary-XML-Datei parsen müsste Kann wohl nicht die Lösung sein...
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: iTunes: Cover extrahieren?

  Alt 20. Okt 2009, 18:20
Habe es jetzt rausgekriegt:
Delphi-Quellcode:
iTunesApp:=CreateOleObject('iTunes.Application');
iTunesApp.CurrentTrack.Artwork.Item[1].SaveArtworkToFile('C:\file');
(Natürlich gehört da noch einiges an Fehlerbehandlung rein )

MfG Z4ppy
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:36 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