![]() |
Audio Werkzeuge Bibliothek (AWB)
Liste der Anhänge anzeigen (Anzahl: 1)
Audio Werkzeuge Bibliothek (AWB)
Eine Sammlung von Klassen zum Auslesen von Audio-Informationen (Bitrate, Samplerate, Dauer, etc.) und Bearbeiten von Metatags (Interpret, Titel, Album, Cover-Art, ...) in verschiedenen Audio-Dateitypen. Der Name ist ein direkte Anlehnung an die Audio Tools Library, die seit einigen Jahren nicht weiter gepflegt wird und einen ähnlichen Funktionsumfang, aber auch ein paar sehr unschöne Eigenschaften hat (besonders in bezug auf mp3-Dateien). Auch die Klassenstruktur ist hier etwas angenehmer, da (fast) alles von einer abstrakten Basisklasse abgeleitet wird. Das Auslesen der Audio-Informationen bei den exotischen Dateifomaten ist von dort (modifiziert) übernommen. Features (Zusammenfassung)
Getestet mit Delphi 7 und Delphi 2009. Delphi 6 sollte auch noch laufen, bei Delphi 5 machen die Mp3FileUtils und einige UTF8/Unicode-Routinen Probleme. Ein paar Hinweise zur Nutzung: Die Unit AudioFiles.pas mit der Klasse TAudioFile Die Superklasse. Folgender Code (leicht gekürzt) reicht, um einen Basis-Tagger für alle Formate zu erzeugen:
Delphi-Quellcode:
Die Klassen <*>Files.pas mit den Klassen T<*>File
procedure TSimpleTagger.FileListBox1Change(Sender: TObject);
begin MainAudioFile := TAudioFile.Create(FileListBox1.FileName); EdtTitle.Text := MainAudioFile.Title; EdtArtist.Text := MainAudioFile.Artist; EdtAlbum.Text := MainAudioFile.Album; EdtGenre.Text := MainAudioFile.Genre; EdtYear.Text := MainAudioFile.Year; EdtTrack.Text := MainAudioFile.Track; Memo1.Clear; Memo1.Lines.Add(Format('Type: %s', [MainAudioFile.FileTypeName] )); Memo1.Lines.Add(Format('FileSize %d Bytes', [MainAudioFile.FileSize] )); Memo1.Lines.Add(Format('Duration %d sec', [MainAudioFile.Duration] )); Memo1.Lines.Add(Format('Btrate %d kBit/s',[MainAudioFile.Bitrate div 1000])); Memo1.Lines.Add(Format('Samplerate %d Hz', [MainAudioFile.Samplerate] )); Memo1.Lines.Add(Format('Channels: %d', [MainAudioFile.Channels] )); end; procedure TSimpleTagger.BtnSaveClick(Sender: TObject); begin MainAudioFile.Title := EdtTitle.Text ; MainAudioFile.Artist := EdtArtist.Text; MainAudioFile.Album := EdtAlbum.Text ; MainAudioFile.Genre := EdtGenre.Text ; MainAudioFile.Year := EdtYear.Text ; MainAudioFile.Track := EdtTrack.Text ; MainAudioFile.UpdateFile; end; Abgeleitet von der abstrakten Basisklasse
Delphi-Quellcode:
implementieren diese Klassen die Basismethoden und liefern - je nach Typ - weitere Informationen aus den Dateien. Die Klasse
TBaseAudioFile
Delphi-Quellcode:
hat dafür die Properties
TAudioFile
Delphi-Quellcode:
, über die weiterführender Zugriff möglich ist. Das wird in der ExtendedDemo vorgeführt. Die Dateitypen, die ApeTags nutzen, sind dabei von einer Zwischenklasse
<*>File
Delphi-Quellcode:
in der Unit
TBaseApeFile
Delphi-Quellcode:
abgeleitet. Die Klasse
Apev2Tags.pas
Delphi-Quellcode:
hat als Property auch
TMp3File
Delphi-Quellcode:
, über den dann der ganze Quatsch möglich ist, der in den MP3FileUtils-Demos beschrieben wird (z.B. rekursive mp3-Dateien bauen).
Id3v2Tag
Bei den Methoden
Delphi-Quellcode:
bzw.
T<*>File.ReadFromFile
Delphi-Quellcode:
wird bzgl. der Meta-Tags (ID3, ApeV2, Ogg-Vorbis-Comments) folgendes angenommen:
WriteToFile
Lizenz LGPL oder MPL (Die Audio Tools Library, von denen hier auch einiges drin steckt, stehen nur unter der LGPL. Da ich auf eine Anfrage keine Antwort bekommen habe, das Projekt seit einigen Jahren nicht mehr weiter entwickelt wird, und der Anteil von ATL-Code nicht sonderlich groß ist, habe ich mir die Dual-Lizenz einfach so erlaubt. ;-)) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz