Entwickler-Ecke

Dateizugriff - Einfügen von Tags und Covers in ein *.aac file


Seven of Nine - Do 10.05.12 21:33
Titel: Einfügen von Tags und Covers in ein *.aac file
Gibt es eine Komponente mit der sich in bestehende *.aac Titel
- Tags
und optimalerweise auch
- Covers/Bilder
einfügen lassen?

Kann das evtl. sogar Gausi's Tool mp3Fileutils?

Danke & lG
Martin


Moderiert von user profile iconNarses: Topic aus Open Source Units verschoben am Do 10.05.2012 um 22:54


Gausi - Do 10.05.12 21:50

user profile iconSeven of Nine hat folgendes geschrieben Zum zitierten Posting springen:
Kann das evtl. sogar Gausi's Tool mp3Fileutils?


Nope. Die Mp3FileUtils können nur ID3Tags verarbeiten, die in mp3-Dateien vorkommen. Mit der neuen Audio Werkzeuge Bibliothek [http://gausi.de/awb.html] geht das auch nicht (damit geht mp3, ogg, flac und apev2).
Die Audio Tools Library hat zwar eine Unit für aac, aber die verwenden da Id3- und ApeV2-Tags, was afaik nicht so besonders sinnvoll ist.

Eine Komponente dafür ist mir nicht bekannt.


Seven of Nine - Fr 11.05.12 12:08

Schade schade, Deine MP3Utils sind nämlich hervorragend zu bedienen.

Ich probiere derzeit gerade zumindest die Tags (ohne Covers) mittels der freien audiogenie3.dll und dem dazu passendem Wrapper (audiogenie3.pas) zu realisieren.
Allerdings gibts da die nächste Herausforderung. ich verstehe nämlich nicht wie man das einbindet.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
uses AudioGenie3;
var
  AG3 : TAudioGenie3;

//..........
AG3.Create;
//here some functions using AG3....
AG3.Free;


führt bei mir zu einer exception.
hat schon mal jemand mit dieser DLL/Wrapper gearbeitet.

lg M


jaenicke - Fr 11.05.12 12:16

user profile iconSeven of Nine hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
2:
3:
AG3.Create;
//here some functions using AG3....
AG3.Free;
Das hat nix mit dem Wrapper zu tun. ;-)
Wie erstellt man nochmal ein Objekt?

Delphi-Quelltext
1:
AG3 := TAG3.Create;                    
(Du hast die neue Instanz einfach weggeworfen und die nicht initialisierte Variable AG3 benutzt. Kam da keine Warnung?)


Seven of Nine - Fr 11.05.12 16:27

Hallo Sebastian
Mit Objekten/Instanzen stehe ich scheinbar einfach auf dem kriegsfuss, hiHi. Soweit so gut, der richtige Aufruf bei obigem Beispiel funktioniert nun.
Auch "AUDIOAnalyzeFileW" liest scheinbar die Datei ein und "AUDIOSaveChangesW" speichert gemachte Änderungen dann ab.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
Var
  AG3 : TAudioGenie3;
  AudioFormatID : TAudioFormatID;

AG3:= TAudioGenie3.Create;
AudioFormatID := AG3.AUDIOAnalyzeFileW(aFilename);
//AG3.AUDIOSetAlbumW('XXX'); 
AG3.AUDIOSaveChangesW;
AG3.Free;


allerdings Nächster Knackpunkt: wie speichere/schreibe ich daten in das Audio-File?
mittels
AG3.AUDIOSetAlbumW('XXX');
gehts zB nicht -> "Auf Private Symbol kann nicht zugegriffen werden"

lG M


jaenicke - Fr 11.05.12 16:47

Wie wäre es mit der Eigenschaft AUDIOAlbumW, die die von dir genannte Methode als Setter benutzt?