Danke, hab's grad getestet.
Habe eine extra lange/große mp3 Datei genommen (160MB) und einen längeren Text in das UNSYNCEDLYRICS Feld eingefügt.
Hat zuerst problemlos funktioniert und durch die Größe der Datei verbunden mit dem langen Text der über den Buffer des Tags hinausging, hatte ich auch Zeit im Process Explorer search zu drücken und sah, dass die Datei mit Mp3Tag bearbeitet wird. Hab öfter search gedrückt, solange die Datei neu geschrieben wurde, kam Mp3Tag als Programm, nie eine anderes.
Hab den Text dann wieder gelöscht und gleich ein zweites Mal versucht. Diesmal mit einem noch längeren Text (3584 Zeichen) um wieder über den Buffer zu kommen. Diesmal kam sogar der von mir beschriebene Fehler und die Datei wurde in eine .tmp Datei umgewandelt, bzw in diesem Zustand gelassen und nicht wieder zurück als .mp3 geschrieben. Im Process Explorer kam wieder nur Mp3Tag. Hab die Suche dort wieder öfter aktuellisiert, immer nur Mp3Tag.
Kann natürlich sein dass ich gerade den Moment, in dem ein anders Programm darauf zugreift, verpasst habe, wenn es sich dabei nur um einige Millisekunden handelt. Eine History im Dateizugriff wäre eventuell aufschlussreich, gibt es so was?
Aber selbst dann bringt mich das nur bedingt weiter. Dass Foobar2000 zum Lesen auf die Datei zugreift weiß ich ja, sonst könnte die Datenbank ja nicht aktuellisiert werden. Aber vielleicht erscheint ja überraschenderweiße noch ein anderes Programm oder Windows.
Das Auftreten des Fehlers war hier wieder mal typisch. Ich habe die selbe Datei zweimal auf die geleiche Weise bearbeitet. Lediglich der eingefügte Text war beim zweiten Mal länger/größer. Das erste mal hat problemlos funktioniert, das zweite mal nicht. Ich hab auch sonst nichts an den nebenbei laufenden Programmen geändert.
Und obwohl ich das Problem jetzt lange nicht hatte war es plötzlich wieder da. Eventuell kommt es auch bei großen Datein häufiger vor, weil durch die längere Zeit die zum schreiben benötigt wird die wahrscheinlichkeit steigt, dass das Zugriffsproblem auftritt. Aber alles nur Spekulation, ...
EDIT:
Wenn ich übrigens eine Datei versuche zu ändern auf die gerade offensichtlich zugegriffen wird, weil sie gerade abgespielt wird, kommt die selbe Meldung (muss ja auch), aber die Datei bleibt unverändert wie es sein sollte wenn ich sie nicht zum Schreiben geöffnet werden kann.
Wenn ich versuche sie mit foobar2000 abzuspielen obwohl sie gerade von Mp3Tag neu geschrieben wird, erhalte ich in foobar2000 eine entsprechende Meldung (Unable to open track for playback (Sharing violation)) und die Datei wird ohne Problem von Mp3Tag neugeschrieben wie es sein sollte.
EDIT 2:
Beim weiteren editieren der selben Datei kam gerade das Problem in der zweiten Variante. Ich habe das Tag Feld ALBUMARTIST formatiert welches davor nicht existiert hat. Wieder die Meldung Datei konnte nicht zum Schreiben geöffnet werden..., aber diesmal war die Datei noch unverändert vorhanden, lediglich das gerade neu geschriebene Tag Feld war nicht da. Also Zustand wie vor dem speichern. Direkt davor habe ich einige andere Tag Felder (TITLE, ALBUM, DISCNUMBER, SOURCE, PUBLISHER) ohne Problem bearbeitet und in verschiedenen Schritten gespeichert.
Meine Vermutung zu den zwei Varianten des Problems: wenn die Datei neu geschrieben werden muss weil der Buffer des Tags nicht reicht, und das Problem dann auftritt, wird die neu geschriebene Datei zu einer .tmp Datei. Wird nur der Tag neu geschrieben, beleibt die Datei unbeschädigt, lediglich der Tag wird nicht neu geschrieben.
Aber wie gesagt, alles nur Spekulation, ...