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 :
é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.
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());
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 :
de Java.
Code : Sélectionner tout - Visualiser dans une fenêtre à part AudioFileFormat audioFileFormat = AudioSystem.getAudioFileFormat(file);
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 !
Partager