![]() |
AW: Datei Info verändern !
Doch, aber dazu musst Du Dich selbst mit den
![]() |
AW: Datei Info verändern !
Ist im grunde genommen nicht schwer:
Du nimmst die Datei, liest sie in einen Stream ein, navigierst zu der Stelle, wo die ID3 Info anfängt und überschreibst die Information an der gewünschten Stelle. Das sind Strings mit fester Breite. Also 30 Zeichen Z.B. Der Rest der ja nicht mit Zeichen aufgefüllt ist wird mit #0 aufgefüllt (nicht leerzeichen sondern #0). Zumisndest in C# haben wir das in der Schule mit einem 30 Zeiler gelöst. |
AW: Datei Info verändern !
Selber implementieren :stupid:
|
AW: Datei Info verändern !
Ja hab die Unit implementiert, jedoch nicht mit Delphi 5 damit klappts nicht habe meine Delphi 7 Version benutzt ;)
Und ja läuft ganz einfach: 1. Stream einlesen 2. Datei Infos verändern 3. Stream überschreiben das wars im Grunde ... Danke ;) |
AW: Datei Info verändern !
Nur zur Erklärung, warum Mp3FileUtils so "mega kompliziert" ist.
Der angespochene 30-Zeiler bearbeitet nur die einfachen ID3v1-tags am Ende der Datei. Der neuere ID3v2-tag am Anfang der Datei ist deutlich komplexer, und da gibt es dann wieder drei Unterversionen. Und dann kann man da auch Bilder und anderen Kram unterbringen, und dann wird das halt etwas länger. ;-) Andere Units werden da eigentlich nicht gebraucht. Optional können für ältere Delphi-Versionen die TNT UnicodeControls benutzt werden, um auch Dateien mit Unicodezeichen im Namen bearbeiten zu können. Das lässt sich in der config.inc aktivieren, voreingestellt ist das nicht. Und mit Delphi 5 sollte das eigentlich auch funktionieren. Afaik macht Delphi3 oder kleiner Probleme, da es dort wohl noch keine dynamischen Arrays gab. Was klappt denn da mit Delphi 5 nicht? :gruebel: |
AW: Datei Info verändern !
Zitat:
und da stehen überhaupt keine Zeichen -.- |
AW: Datei Info verändern !
Es scheint der falsche Zeilenumbruch verwendet zu werden
|
AW: Datei Info verändern !
Zitat:
Gruß K-H |
AW: Datei Info verändern !
Zitat:
|
AW: Datei Info verändern !
Zitat:
Delphi-Quellcode:
.
TID3v2FrameVersions = (FV_2 = 2, FV_3, FV_4);
Ist zu lange her, aber man muss beim Entfernen des "= 2" ein paar direkte Zuweisungen leicht anpassen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 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