Du kannst ja mal die bereits als "fehlerhaft" erkannten Files checken, wie es da mit den ID3Tags aussieht. Wenn meine Vermutung richtig ist, sollte mit diesem Code als Versionsstring "2.4.0" ausgeben werden, und die Größe jeweils einen bestimmten Schwellenwert überschreiten. Der Test schlägt allerdings fehl, wenn Windows die Datei schon verpfuscht hat. Dann guck die Datei mal in einem Hex-Editor an und schau, ob der String "ID3" mehr als nur einmal vorkommt (und es dahinter so aussieht als stünden da Infos wie Titel oder Interpret). Falls ja, ist die Datei kaputt. Reparieren geht über "ID3Tag löschen" mit einem anständigen Tagger. Dann wird (vermutlich) der Windows-Murks vorne gelöscht, und der Original-Tag sollte wieder vorne stehen.
Delphi-Quellcode:
uses Mp3Files; // aus meiner AWB, https://github.com/DanielGausi/AudioWerkzeugeBibliothek
procedure TForm1.ShowInfo(aFile: String);
var
mp3File: TMp3File;
begin
mp3File := TMp3File.Create;
try
mp3File.ReadFromFile(aFile);
memo1.Lines.Add(mp3File.ID3v2Tag.VersionString);
memo1.Lines.Add(mp3File.ID3v2TagSize.ToString);
finally
mp3File.free;
end;
end;
Falls das so ist, kannst du damit ggf. ein kleines Testprogramm schreiben, das dir die nicht abspielbaren Files auflistet. Die Tags von 2.4 nach 2.3 zu konvertieren ist zwar prinzipiell möglich (bis auf ggf. ein paar Ausnahme-Felder). Ob es dafür Tools gibt, weiß ich nicht. Evtl. kann
Mp3Tag das.
The angels have the phone box.