AW: Cover in WMP Format
Zitat:
Mit eurer Hilfe. Alleine wäre ich wohl aufgeschmissen gewesen. Habe alles gerne perfekt ohne das andere Programme sich da einmischen. ;) gruss |
AW: Cover in WMP Format
Falls du meinen Codeschnipsel produktiv einsetzt, dann denk aber daran, dass du in den neu erstellten ID3-Tag noch weitere Informationen vom alten einfügst (mindestens noch Jahr, Kommentar, Genre). Und den alten Tag nur dann durch neuen, WMP-Kompatiblen ersetzt, wenn es nötig ist, also durch eine Abfrage der Version
Delphi-Quellcode:
Dass Daten möglicherweise verloren gehen liegt daran, dass ich in dem Codeschnipsel die "dreckige" Variante für die Konvertierung von 2.3 nach 2.4 gewählt habe, und nicht jeden tatsächlich vorhandenen Frame aktualisiere.
if MP3tags.Version.Major = 3 then
// vorhandenen Tag schreiben, WMP kommt damit klar MP3tags.WriteToFile(mp3File) else // neu gebauten Tag schreiben. Dabei gehen möglicherweise Daten verloren v23Tag.WriteToFile(mp3file); |
AW: Cover in WMP Format
Zitat:
Habe bei 6000 Titeln das PRIV: Frame entfernt. Mache die Anwendung fertig und lasse die drüber laufen.
Delphi-Quellcode:
Anbei noch das Tool desiccate compiliert und für VS2017 angepasst.
v23Tag.Artist := MP3Tags.Artist;
v23Tag.Album := MP3Tags.Album; v23Tag.Title := MP3Tags.Title; v23Tag.Year := MP3Tags.Year; v23Tag.Track := MP3Tags.Track; v23Tag.Genre := MP3Tags.Genre; v23Tag.Rating := 128; for i := 1 to 16 do begin b := Random(255); GUID.Write(b, 1); end; Damit können private Frames, Comments, Ufid's aus dem Tag entfernt werden. Es ist sehr zuverlässig und hat bei mir noch keinen Tag zerstört. gruss |
AW: Cover in WMP Format
Ich denke das dürfte als Warnung ausreichen.
gruss |
AW: Cover in WMP Format
Hier ist das Ergebnis wer's braucht ;)
Das was in der Listbox ROT ausgelegt ist wurde nicht verändert. Deshalb nicht weil kein AlbumArtSmall.jpg im Pfad gefunden wurde. @Gausi habe deine mp3FileUtil im Archiv addiert hoffe das geht in Ordnung, wenn nicht werde ich sie natürlich entfernen. gruss |
Dieses Thema wurde am "14. Apr 2018, 15:12 Uhr" von "Daniel" aus dem Forum "Klatsch und Tratsch" in das Forum "Multimedia" verschoben.
|
AW: Cover in WMP Format
Der Thread hat ja einen hochinteressanten Verlauf genommen, nachdem das eigentliche Problem herausgearbeitet worden war. Die 'PRIV' - Frames hatte ich bisher überhaupt nicht auf dem Schirm. Daraufhin habe ich mal meinen eigenen MP3-Bestand mit dem von dir verlinkten Tool iDesiccate durchforstet und etliche Dateien mit solchen Frames gefunden. Wahrscheinlch sind sie irgendwann einmal durch einen nicht ausreichend restriktiv konfigurierten WMP kontaminiert worden :shock:
In meinem eigenen Programm, dessen Kernfunktion die Anonymisierung von Audiodateien (MP3 und M4A) ist, sind diese PRIV-Frames zum Glück irrelevant. Dort werden die wichtigsten Tags incl. Cover ausgelesen und gesichert. Anschließend werden alle ID3 -Tags komplett aus der Datei entfernt. Zum Schluss werden nur die ausgewählten Tags in die Datei zurückgeschrieben. Damit sollte aller kryptischer Mist entsorgt sein (hoffe ich). Dein Projekt habe ich mir mal in die IDE geladen und angesehen. Testen werde ich das Programm allerdings (vorläufig) nicht, alldieweil ich auf absehbare Zeit keine WMP-Plugins einzusetzen gedenke. :wink: Eine Anmerkung kann ich mir allerdings nicht verkneifen: Das Englisch in dem Readme-Text ist, vorsichtig ausgedrückt, verbesserungsfähig. Vorschläge:
Delphi-Quellcode:
Ich bitte um Nachsicht, dass ich den Oberlehrer in mir mal wieder nicht im Zaum halten konnte :oops:pString := 'the application writes PRIV: Frames to MP3 Tag' + #13#10 + 'this is necessary so that the visual plugins for WMP work properly' + #13#10 + // Vorschlag: 'necessary to make the visual...' 'without having create the Mp3 tag via WMP (Windows Media Player)' + #13#10 + // Vorschlag: 'without having created...' 'a file called AlbumArtSmall.jpg is required in the Search path' + #13#10 + #13#10 + 'WARNING: after execute the function over DoIt, process can''t be stopped' + #13#10 + // Vorschlag: 'after executing...' #13#10 + 'Artist' + #13#10 + 'Album' + #13#10 + 'Title' + #13#10 + 'Year' + #13#10 + 'Track' + #13#10 + 'Genre' + #13#10 + 'Comment' + #13#10 + #13#10 + 'are not changed' + #13#10 + 'if your use more entries in the Mp3 tag' + #13#10 + 'please close the application, or your data will be lost!'; Gruß LP |
AW: Cover in WMP Format
Zitat:
Aber muss dazu sagen.. habe nie English in der Schule gelernt das bisschen das ich kann habe ich mir mit der zeit angeeignet Gewohnheit eben wenn man viel English lesen muss gezwungener weise. Habe ja hier schon gesagt was ich von meinem English halte ;) https://www.delphipraxis.net/1399132-post20.html Aber kein Problem.. Hier das Update habe noch zwei kleine Probleme behoben. btw.. Habe es nach Multimedia verschieben lassen da es ja jetzt darum geht. Danke an die Admins! gruss |
AW: Cover in WMP Format
zu den PRIV-Frames nochmal: Dass dadurch der Fehler hier behoben werden konnte, liegt an der Schusseligkeit des Plugin-Entwicklers. Wenn ohnehin ein Fallback auf das normale Cover "AlbumArtSmall.jpg" genommen wird, dann sollte dieser Fallback auch genommen werden, wenn im ID3-Tag keine GUID für das Coverart gefunden werden kann. Dass man das Plugin fixen kann, in dem man Datenmüll in die Datei schreibt ist einfach nur ... kaputt.
Ansonsten haben PRIV-Frames ja durchaus ihren Nutzen. Sie können allerdings in der Tat bei der Weitergabe persönliche Daten enthalten, das ist richtig. Das gilt aber auch für andere Möglichkeiten, zusätzliche Daten in den ID3-Tag zu schreiben. Einige Tagger/Ripper/Player nutzen diverse "Usertext"-Frames, andere mehrere "Kommentar"-Frames. Und der WMP ist nicht der einzige Player, der die PRIV-Frames nutzt. |
AW: Cover in WMP Format
Zitat:
btw.. Hab da noch ein Problem. Ich habe mp3Tags in Version ID3_v1 Dein mp3fileUtils meldet mir aber das kein Tag gefunden wurde aber er ist definitiv als ID3_v1 enthalten. Wollte jetzt noch deine error messagen an einem String (Label) übergeben wie? Sind ja enums. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 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