Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Audiotag-Library gesucht (https://www.delphipraxis.net/170879-audiotag-library-gesucht.html)

DeddyH 8. Okt 2012 10:34

Audiotag-Library gesucht
 
Moin,

ich suche eine Komponente/Library/whatever für Audiotags, die möglichst diese Voraussetzungen erfüllt:
- Unterstützung der gängigsten Audioformate mit Tags (MP3, FLAC, OGG, etc.)
- frei für nicht-kommerziellen Gebrauch oder ersatzweise maximal 2-stelliger Preis
- wichtig: Unterstützung von direkter Stream-Manipulation beim Schreiben

Alles, was ich bislang ermitteln konnte, ist dateibasiert. Ich arbeite aber ausschließlich mit Streams, da die Daten aus unterschiedlichen Quellen kommen können. Gut, ich könnte so einen Stream auch temporär in eine Datei schreiben, diese taggen, wieder in den Stream laden und dann die Datei löschen, aber so wirklich gefällt mir das nicht.

Kennt da jemand etwas aus dem Kopf, ich möchte mir die Zeit sparen, jede Library herunterzuladen und in den Source zu schauen?

Danke

[edit] Crosspost DT [/edit]

juergen 8. Okt 2012 19:22

AW: Audiotag-Library gesucht
 
Nabend,

ich nutze die Mp3FileUtils von Gausi.
Seit einiger Zeit bietet Gausi auch eine Audio Werkzeuge Bibliothek an, womit auch andere Musikdateien bearbeitet werden können als MP3's. Diese kenne ich allerdings nicht.
http://www.gausi.de/awb.html
Für meine Zwecke bin ich mit den Mp3FileUtils sehr zufrieden. Gausi ist hier auch im Forum unterwegs und leistet sehr gute Hilfestellung/ Support.


Vllt. hilft dir das schon mal etwas weiter.

Wishmaster 9. Okt 2012 00:53

AW: Audiotag-Library gesucht
 
hi

you can try it with Audioengine3

AudioGenie is a fast Library with many functions to analyze audiofiles (like Bitrate, Samplerate, Frames, Duration, Version-Number, etc) and for tagging. This DLL can read and modify audio tags like id3v1, id3v2, ape, lyrics and mp4, ogg,flac & more.


and it is free / open source! der code ist in c++

hier gibt es noch etwas dazu
http://www.3delite.hu/

DeddyH 9. Okt 2012 06:59

AW: Audiotag-Library gesucht
 
Danke Euch beiden :thumb:. AWB kenne ich bereits, aber wenn ich das richtig überflogen habe, arbeitet es auch dateibasiert. Audioengine schaue ich mir einmal an, in der allergrößten Not müsste ich eins von beiden eben so umschreiben, dass es auch mit meinen Streams zurechtkommt.

Gausi 9. Okt 2012 14:40

AW: Audiotag-Library gesucht
 
Jep, meine Unit arbeitet dateibasiert. Ausnahme sind die mp3-Dateien, da sind die Methoden zum Auslesen des ID3v1 und ID3v2 aus Streams auch public. Da empfinde ich das auch direkt als sinnvoll, da in mp3-Dateien verschiedene, nicht unbedingt konsistente Metadaten drin stecken müssen.

Bei den anderen Formaten (flac, ogg, ape) sind die Metadaten nur an einer Stelle in der Datei zu finden, daher arbeite ich da auch nur mit Dateien.

Es sollte aber relativ wenig Aufwand sein, die Read|WriteFile-Methoden zu splitten, und jeweils alles nach dem "FileStream.Create" in eine Read|WriteStream-Methode auszulagern, die man dann auch public setzt.

(Bei mir kommen in Kürze auch mp4-Dateien hinzu. Das ist soweit fast fertig, muss eigentlich nur noch veröffentlicht werden. ;-))

DeddyH 9. Okt 2012 15:04

AW: Audiotag-Library gesucht
 
Ich habe AWB schon einige Zeit auf dem Rechner, Danke für Deine tolle Arbeit :thumb:. Wie ich schon sagte, mein Problem besteht eigentlich nur aus den Streams, da ich z.B. in der Lage sein möchte, einen Song von einer CD in eine MP3 zu rippen, diese direkt im Speicher zu taggen und dann wiederum in ein BLOB-Feld einer Datenbank zu schreiben. Da wäre mir Zwischenspeicherung eher hinderlich. Aber ich schaue mir die verschiedenen Alternativen einfach mal an, es eilt nicht.

Gausi 9. Okt 2012 15:33

AW: Audiotag-Library gesucht
 
Wenn es nur um mp3 geht, dann geht das, wenn du nicht die "Oberklassen" für die einfache Benutzung nimmst. Sowas ähnliches mache ich bei meinem mp3-Player auch bei Aufnahme von Webradio.

Wenn ein neuer Titel anfängt (Event der bass.dll), dann erstelle ich ein TID3v2Tag-Objekt, befülle das mit den passenden Daten und schreibe das Objekt in einen neu erstellten FileStream. Solange die Aufnahme läuft, schaufel ich dann die Audiodaten in diesen Stream, und am Ende klatsch ich noch ein ID3v1-Objekt mit passenden Daten dran.

Das sollte auch mit einem MemoryStream funktionieren. :D

DeddyH 9. Okt 2012 15:38

AW: Audiotag-Library gesucht
 
Da ich auch die bass.dll benutze, möchte ich mich nicht auf MP3 beschränken, sondern dem Benutzer alle Formate zur Auswahl anbieten, die BASS beherrscht. Daher wird es ein wenig aufwändiger werden, das was mir so in der Birne herumspukt auch tatsächlich zuverlässig umzusetzen. Aber man wächst ja an seinen Aufgaben :roll:.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 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