[Java] Obtenir des informations sur les balises à partir de fichiers musicaux

introduction

Les informations d'étiquette (nom de la chanson, nom de l'album, nom de l'artiste, etc.) du fichier de chanson peuvent être facilement modifiées à partir de divers lecteurs multimédias. Surtout dans iTunes, il est très pratique d'utiliser Gracenote pour acquérir automatiquement les informations d'étiquette en même temps que l'importation à partir d'un CD. Cependant, dans certains cas, les informations de balise acquises peuvent ne pas être __ vos préférées __. Pour donner un exemple

etc... Il est difficile d'éditer ces chansons une par une, j'ai donc toujours voulu pouvoir manipuler les informations de balise du système. (Pour cela, vous avez également besoin de CDDB qui répond aux exigences ci-dessus ...) Cette fois, en ce qui concerne le «traitement pour obtenir les informations de balise à partir de la« manipulation des informations de balise du système », le résultat de la vérification de la bibliothèque appelée« JAudioTagger »avec la combinaison du« langage Java »et du« SpringBoot »est laissé sous forme de mémorandum.

Modifier pom.xml

Ajoutez les dépendances suivantes aux dependencies dans pom.xml

<dependency>
  <groupId>org</groupId>
  <artifactId>jaudiotagger</artifactId>
  <version>2.0.3</version>
</dependency>

Lire les informations de balise

Tout d'abord, vérifiez les informations de balise de la chanson appropriée importée dans iTunes tag_ss.png

Maintenant, lisons les informations de balise à partir du code Java (voir ci-dessous pour le code)

AudioFile audioFile = AudioFileIO.read(Objet de fichier qui lit un fichier de musique);
Tag tag = audioFile.getTag();

System.out.println(tag.getFirst(FieldKey.TITLE));
System.out.println(tag.getFirst(FieldKey.ARTIST));
System.out.println(tag.getFirst(FieldKey.ALBUM_ARTIST));
System.out.println(tag.getFirst(FieldKey.ALBUM));
System.out.println(tag.getFirst(FieldKey.YEAR));
System.out.println(tag.getFirst(FieldKey.COMPOSER));
System.out.println(tag.getFirst(FieldKey.GENRE));

Le résultat de sortie est le suivant.

Qui sonnera la cloche?
Keyakizaka 46
Keyakizaka 46
Qui sonnera la cloche?
2020
Yuki Tsujimura
J-POP

Au fait, «FieldKey» semble pouvoir obtenir quelque chose comme ce qui suit

FieldKey Informations de balise pouvant être obtenues
TITLE Titre de chanson
TITLE_SORT Titre de chanson(Lis)
ARTIST nom d'artiste
ARTIST_SORT nom d'artiste(Lis)
ALBUM_ARTIST Artiste de l'album
ALBUM_ARTIST_SORT Artiste de l'album(Lis)
ALBUM Nom de l'album
ALBUM_SORT Nom de l'album(Lis)
YEAR Année de sortie de l'album
COMPOSER compositeur
COMPOSER_SORT compositeur(Lis)
GENRE Genre

Il semble que vous puissiez obtenir divers autres champs (Référence: Table de mappage)

en conclusion

Cette fois, j'ai vérifié «obtenir des informations sur les balises», mais ensuite je voudrais vérifier «l'écriture» des informations sur les balises ». Aussi, je voudrais vérifier le fonctionnement des informations de balise dans des langues autres que «Java» lorsque j'en ai le temps. Dernier point mais non le moindre, en ces jours où les abonnements sont de plus en plus courants, manipuler des fichiers musicaux locaux peut en soi être un non-sens (rires).

Recommended Posts

[Java] Obtenir des informations sur les balises à partir de fichiers musicaux
Obtenir des informations sur l'appelant à partir de la trace de la pile (Java)
Obtenir des informations EXIF en Java
Obtenir le pays à partir de l'adresse IP (Java)
Obtenez "2-4, 7, 9" de [4, 7, 9, 2, 3]
Obtenir l'historique du serveur Zabbix en Java
Résumé Il n'y a rien de particulier. Dois-je y prêter attention? .. .. J'ai ressenti cela, alors j'ai écrit un article. Si vous avez des commentaires, veuillez. Obtenez des informations de bloc avec le SDK Java de Python, Python3, Glossy Hyperledger Iroha
Comment obtenir une classe depuis Element en Java
Obtenez unixtime (secondes) de ZonedDateTime dans Scala / Java
Bibliothèque "OSHI" pour acquérir des informations système avec Java
[Java] Obtenir plusieurs valeurs à partir d'une valeur de retour
[Java] Récupère des valeurs de manière aléatoire dans un tableau
[Java] Obtenir KFunction à partir de la méthode / du constructeur en Java [Kotlin]
[Java] Obtenez des métadonnées à partir de fichiers avec Apathce Tika, et obtenez la largeur et la hauteur des images / vidéos à partir des métadonnées [Kotlin]
[Swift5] Obtenez des informations de tableau (individuelles) à partir de JSON à l'aide de la bibliothèque'SwiftyJSON '
Obtenez rapidement des informations de localisation
Changements de Java 8 à Java 11
Somme de Java_1 à 100
[Java] Obtenir des dates diverses
Évaluer la source Java à partir de Java
Accédez à API.AI depuis Java
[Java] Initialisation, ajout, acquisition
De Java à Ruby !!
Obtenir des informations de localisation Android
Obtenez les prévisions météorologiques de Watson Weather Company Data avec Java simple
Accédez à l'abréviation à partir de 5 exemples de listes Java en italique
[Java] Obtenir le jeu de caractères avec Apathce Tika / Initialiser la chaîne à partir du jeu de caractères [Kotlin]
Obtenez des informations vidéo de Nikorepo et envoyez-les à Slack
Comment obtenir les informations les plus longues de Twitter à partir du 12/12/2016
[Kotlin] Obtenez le constructeur / la méthode Java de KFunction et appelez-le
Obtenez facilement des entiers à partir des propriétés système en Java
Obtenir des attributs et des valeurs à partir d'un fichier XML en Java
Logiciel pratique CData (obtenir des données Twitter à partir de l'application console Java)
Obtenir une collection non vide à partir d'un flux facultatif avec java