Pravdepodobne je ten súbor používaný tvojím vlastným procesom. Myslím, že MediaPlayer mal taký bug, že neuvoľnil handle na súbor, neviem či s tým niečo spravili. Kto drží otvorený handle môžeš zistiť použitím programu handle.exe.
MediaPlayer má metódu dispose, ktorá zaručene zatvorí všetky prostriedky, ktoré používa. Nevýhodou je, že ho už potom nemôžeš použiť, takže si v prípade potreby musíš vytvoriť novú inštanciu. Ale vidím, že novú inštanciu vytváraš vždy, takže ti to asi môže byť jedno.
Ešte pár menej podstatných až nepodstatných pripomienok ku kódu:
- skús viac používať premenné, LIST_FILES.get(number).getName() tam máš 2x v jednom riadku, ktorý je potom zbytočne dlhý
- používaj try-with-resources, ak môžeš (a keďže si skúšal Files.delete, tak môžeš, lebo máš k dispozícii minimálne Javu 7) - výrazne tým zjednodušíš kód
- na tvojom mieste by som uprednostnil Files.deleteIfExists pred file.delete - file.delete v prípade zlyhania len vráti false a ak to explicitne neskontroluješ, tak sa nedozvieš, že vznikol problém
- pomenúvaj premenné podľa javovej konvencie, t.j. žiadne podčiarniky v názvoch premenných, ale camelCase