Bonjour,

J'ai besoin de classer des chansons qui sont sur mon iPod, et j'ai fait un petit programme Java pour récupérer les descriptions étendues des fichiers : c'est là que je pensais trouver les informations sur le titre et l'auteur de mes fichiers mp3.

Première tentative :
Malheureusement, le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
UserDefinedFileAttributeView attributs = Files.getFileAttributesView(fichier, UserDefinedFileAttributeView.class);
 
if (attributs == null)
    return;
 
attributs.list().forEach(attribut -> attribut.toString());
échoue lorsqu'il énumère un fichier situé sur H:/iPod_Control/Music/F00 * sur une FileSystemException avec le message lapidaire "Paramètre incorrect." à hauteur de l'instruction attributs.list().forEach(attribut -> attribut.toString());, mais il réussi si je copie ce même fichier sur mon disque dur local.
La variable attributs est bien alimentée d'une liste de WindowsUserDefinedFileAttributeView, mais visiblement l'accès unitaire ses éléments par le forEach montre que ce que cette liste énumère est invalide.

* mon iPod en se connectant s'attribue le lecteur H:

Deuxième tentative :

Certains sur Internet évoquent un :SummaryInfomation qu'il faut préfixer à son nom de fichier en ouvrant un FileInputStream...
...qui deviendrait un stream alternatif et permettrait d'accéder aux metadata,
mais je n'ai pas réussi à faire fonctionner ce qu'ils disaient.

Troisième tentative :

En utilisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
AudioFileFormat audioFileFormat = AudioSystem.getAudioFileFormat(file);
de Java.

mais parmi les formats de fichiers audio qu'il reconnaît, se trouve le .WAV, mais pas le MP3.

Quatrième tentative (en cours) :

par les classes du package javafx.scene.media maintenant intégré à Java 8.


Si vous connaissez la bonne solution, je suis preneur ! Merci !