Extraire les métadonnées des fichiers MP3 à l'aide de l'API REST en Java

Vous pouvez ajouter, modifier, supprimer ou extraire diverses propriétés de fichiers audio stockés sous forme de métadonnées par programmation. Vous pouvez facilement extraire des propriétés de métadonnées telles que le titre, l’artiste et le genre à partir de fichiers audio par programmation sur le cloud. Dans cet article, vous apprendrez à extraire les métadonnées des fichiers audio MP3 à l’aide d’une API REST en Java.

Les sujets suivants sont abordés/couverts dans cet article :

API REST d’extraction de métadonnées MP3 et SDK Java

J’utiliserai l’API Java SDK of GroupDocs.Metadata Cloud pour extraire les métadonnées des fichiers audio MP3. Il vous permet d’ajouter, de modifier, de récupérer et de supprimer des propriétés de métadonnées de plus de 60 types de documents, d’images et de formats de fichiers multimédias. Il vous suffit de définir les critères de recherche et l’API se chargera des opérations de métadonnées spécifiées dans les formats de fichiers pris en charge. L’API fonctionne avec les normes de métadonnées les plus notables telles que les propriétés de métadonnées intégrées, XMP, EXIF, IPTC, Image Resource Blocks, ID3 et personnalisées. Il fournit également le SDK .NET en tant que membres de la famille de manipulation des métadonnées de document pour l’API Cloud.

Vous pouvez facilement utiliser GroupDocs.Metadata Cloud dans vos applications Java basées sur Maven en ajoutant la configuration pom.xml suivante.

<repository>
    <id>groupdocs-artifact-repository</id>
    <name>GroupDocs Artifact Repository</name>
    <url>http://repository.groupdocs.cloud/repo</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-metadata-cloud</artifactId>
    <version>20.4</version>
    <scope>compile</scope>
</dependency>

Veuillez obtenir votre ID client et votre secret à partir du tableau de bord avant de suivre les étapes mentionnées. Une fois que vous avez votre identifiant et votre secret, ajoutez le code comme indiqué ci-dessous :

String clientId = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5";
String clientSecret = "479db2b01dcb93a3d4d20efb16dea971";
String myStorage = "";

Configuration configuration = new Configuration(clientId, clientSecret);

Extraire les métadonnées des fichiers MP3 à l’aide de l’API REST en Java

Vous pouvez facilement extraire les métadonnées des fichiers audio MP3 en suivant les étapes simples ci-dessous :

  1. Télécharger le fichier MP3 sur le Cloud
  2. Extraire les métadonnées des fichiers audio MP3 à l’aide de Java

Télécharger le fichier

Tout d’abord, téléchargez le fichier audio MP3 sur le Cloud à l’aide de l’exemple de code ci-dessous :

// initialisation de l'API
FileApi apiInstance = new FileApi(clientId, clientSecret);

// fichier d'entrée
File fileStream = new File("C:\\Files\\sample.mp3");

// créer une demande de téléchargement de fichier
UploadFileRequest request = new UploadFileRequest("sample.mp3", fileStream, myStorage);

// téléverser un fichier
FilesUploadResult response = apiInstance.uploadFile(request);

Par conséquent, le fichier MP3 téléchargé sera disponible dans la section fichiers de votre tableau de bord sur le cloud.

Extraire les métadonnées des fichiers audio MP3 à l’aide de Java

Vous pouvez extraire toutes les propriétés de métadonnées des fichiers audio MP3 par programmation en suivant les étapes ci-dessous.

  • Créer une instance de MetadataApi
  • Créer une instance de FileInfo
  • Définir le chemin du fichier MP3
  • Créer une instance de ExtractOptions
  • Attribuez FileInfo aux ExtractOptions
  • Créer la demande d’extraction
  • Appelez la méthode MetadataApi.extract() et obtenez les résultats

L’exemple de code suivant montre comment extraire les métadonnées d’un fichier MP3 à l’aide d’une API REST.

// initialiser l'API
MetadataApi apiInstance = new MetadataApi(configuration);

// définir les options d'extraction
ExtractOptions options = new ExtractOptions();
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);

// créer une demande d'extrait
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);

// montrer les résultats
for (MetadataPackage metaPackage : response.getMetadataTree().getInnerPackages()) {
  for(MetadataProperty entry : metaPackage.getPackageProperties()) {
    System.out.println(entry.getName() + ": " + entry.getValue());
    if (entry.getTags() == null)
      continue;
   for (Tag tagItem : entry.getTags()) {
      System.out.println(
          "Tag for property: name - " + tagItem.getName() + ", category - " + tagItem.getCategory());
    }
  }
}
FileFormat: 21
Tag for property: name - FileFormat, category - Content
MimeType: audio/mpeg
Tag for property: name - FileFormat, category - Content
HeaderPosition: 2402
MpegAudioVersion: 3
Layer: 3
HasCrc: True
Bitrate: 224
Frequency: 32000
PaddingBit: 0
PrivateBit: False
Channel: 0
ModeExtensionBits: 0
Copyright: False
Original: True
Emphasis: 0
Version: ID3v1.1
Genre: 255
Album: YouTube Audio Library
Artist: Kevin MacLeod
Comment: This is sample comment.
Tag for property: name - Comment, category - Content
Title: Impact Moderato
Tag for property: name - Title, category - Content
Year: 2021
Tag for property: name - IntellectualContentCreated, category - Time
TrackNumber: 1
Version: ID3v2.3.0
TagSize: 2402
TALB: null
TPE1: null
TPE2: null
COMM: null
Tag for property: name - Comment, category - Content
TCOM: null
TPOS: null
TCON: null
TIT2: null
Tag for property: name - Title, category - Content
TRCK: null
TYER: null
Tag for property: name - IntellectualContentCreated, category - Time
title: Impact Moderato
Tag for property: name - Title, category - Content
artist: Kevin MacLeod
album: YouTube Audio Library
year: 2021
track: 1
genre: Cinematic
Tag for property: name - Type, category - Content
comment: This is sample comment.
Tag for property: name - Comment, category - Content
albumartist: MacLeod Kevin
composer: Kevin
discnumber: 101 

Extraction de métadonnées en faisant correspondre une phrase exacte à l’aide de Java

Vous pouvez extraire la propriété metadata des fichiers MP3 correspondant à la phrase exacte en suivant les étapes ci-dessous :

  • Créer une instance de MetadataApi
  • Créez une instance de MatchOptions et définissez ExactPhrase sur true
  • Initialiser une instance de NameOptions
  • Fournissez la valeur à faire correspondre et définissez MatchOptions
  • Créez une instance de SearchCriteria et définissez NameOptions
  • Créer une instance de FileInfo
  • Définir le chemin du fichier MP3
  • Créer une instance de ExtractOptions
  • Attribuez les SearchCriteria et FileInfo définis aux ExtractOptions
  • Créer la demande d’extraction
  • Appelez la méthode MetadataApi.extract() et obtenez les résultats

L’exemple de code suivant montre comment extraire des métadonnées en faisant correspondre une phrase exacte à l’aide d’une API REST.

// initialiser l'API
MetadataApi apiInstance = new MetadataApi(configuration);

// créer une option de correspondance
MatchOptions matchOptions = new MatchOptions();
matchOptions.setExactPhrase(true);

// option de création de nom
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("MimeType");
nameOptions.setMatchOptions(matchOptions);

// définir des critères de recherche
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);

// définir les options d'extraction
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);

// fournir le fichier d'entrée
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);

// créer une demande d'extrait
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);

// montrer les résultats
for (MetadataProperty entry : response.getProperties()) {
  System.out.println(entry.getName() + ": " + entry.getValue());
  if (entry.getTags() == null)
    continue;
 for (Tag tagItem : entry.getTags()) {
    System.out.println(
        "Tag for property: name - " + tagItem.getName() + ", category - " + tagItem.getCategory());
  }
}
MimeType: audio/mpeg
Tag for property: name - FileFormat, category - Content

Extraction de métadonnées par expression régulière à l’aide de Java

Vous pouvez définir des critères de recherche pour extraire les métadonnées des fichiers MP3 à l’aide de l’expression régulière en suivant les étapes ci-dessous :

  • Créer une instance de MetadataApi
  • Initialisez une instance de MatchOptions et définissez IsRegex sur true
  • Créer une instance de NameOptions
  • Fournissez une expression régulière et définissez MatchOptions
  • Créez une instance de SearchCriteria et définissez NameOptions
  • Créer une instance de FileInfo
  • Définir le chemin du fichier MP3
  • Créer une instance de ExtractOptions
  • Attribuez les SearchCriteria et FileInfo définis aux ExtractOptions
  • Créer la demande d’extraction
  • Appelez la méthode MetadataApi.extract() et obtenez les résultats

L’exemple de code suivant montre comment extraire la recherche de métadonnées par expression régulière à l’aide d’une API REST.

// initialiser l'API
MetadataApi apiInstance = new MetadataApi(configuration);

// créer une option de correspondance
MatchOptions matchOptions = new MatchOptions();
matchOptions.setIsRegex(true);

// option de création de nom
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("^Co.*");
nameOptions.setMatchOptions(matchOptions);

// définir des critères de recherche
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);

// définir les options d'extraction
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);

// fournir le fichier d'entrée
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);

// créer une demande d'extrait
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);

for (MetadataProperty entry : response.getProperties()) {
  System.out.println(entry.getName() + ": " + entry.getValue());
  if (entry.getTags() == null)
    continue;
 for (Tag tagItem : entry.getTags()) {
    System.out.println(
        "Tag for property: name - " + tagItem.getName() + ", category - " + tagItem.getCategory());
  }
}
Copyright: False
Comment: This is sample comment.
Tag for property: name - Comment, category - Content
COMM: GroupDocs.Metadata.Formats.Audio.ID3V2CommentFrame
Tag for property: name - Comment, category - Content
CommEncoding: 1
CommLanguage: eng
CommShortContentDescription: 
CommText: This is sample comment.
comment: This is sample comment.
Tag for property: name - Comment, category - Content
composer: Kevin 

Extraire les métadonnées par nom de propriété à l’aide de Java

Vous pouvez définir des critères de recherche pour extraire les métadonnées des fichiers MP3 pour une propriété spécifique en suivant les étapes ci-dessous :

  • Créer une instance de MetadataApi
  • Initialiser une instance de NameOptions et définir la valeur
  • Créez une instance de SearchCriteria et définissez NameOptions
  • Créer une instance de FileInfo
  • Définir le chemin du fichier MP3
  • Créer une instance de ExtractOptions
  • Attribuez les SearchCriteria et FileInfo définis aux ExtractOptions
  • Créer la demande d’extraction
  • Appelez la méthode MetadataApi.extract() et obtenez les résultats

L’exemple de code suivant montre comment extraire des métadonnées en recherchant un nom de propriété à l’aide d’une API REST.

// initialiser l'API
MetadataApi apiInstance = new MetadataApi(configuration);

// option de création de nom
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("Artist");

// définir des critères de recherche
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);

// fournir le fichier d'entrée
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");

// définir les options d'extraction
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
options.setFileInfo(fileInfo);

// créer une demande d'extrait
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);

for (MetadataProperty entry : response.getProperties()) {
  System.out.println(entry.getName() + ": " + entry.getValue());
  if (entry.getTags() == null)
    continue;
 for (Tag tagItem : entry.getTags()) {
    System.out.println(
        "Tag for property: name - " + tagItem.getName() + ", category - " + tagItem.getCategory());
  }
}
Artist: Kevin MacLeod
artist: Kevin MacLeod
albumartist: MacLeod Kevin

Extraire les métadonnées par valeur de propriété à l’aide de Java

Vous pouvez définir des critères de recherche pour extraire les métadonnées des fichiers MP3 correspondant à la valeur de la propriété en suivant les étapes ci-dessous :

  • Créer une instance de MetadataApi
  • Créer une instance de ValueOptions
  • Fournir la valeur à rechercher et son type
  • Créer une instance de SearchCriteria et définir ValueOptions
  • Créer une instance de FileInfo
  • Définir le chemin du fichier MP3
  • Créer une instance de ExtractOptions
  • Attribuez les SearchCriteria et FileInfo définis aux ExtractOptions
  • Créer la demande d’extraction
  • Appelez la méthode MetadataApi.extract() et obtenez les résultats

L’extrait de code suivant montre comment extraire les métadonnées en recherchant la valeur de la propriété à l’aide d’une API REST.

// initialiser l'API
MetadataApi apiInstance = new MetadataApi(configuration);

// créer des options de valeur
ValueOptions valueOptions = new ValueOptions();
valueOptions.setValue("Impact Moderato");
valueOptions.setType("string");

// définir des critères de recherche
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setValueOptions(valueOptions);

// fournir le fichier d'entrée
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");

// définir les options d'extraction
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
options.setFileInfo(fileInfo);

// créer une demande d'extrait
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);

for (MetadataProperty entry : response.getProperties()) {
  System.out.println(entry.getName() + ": " + entry.getValue());
  if (entry.getTags() == null)
    continue;
 for (Tag tagItem : entry.getTags()) {
    System.out.println(
        "Tag for property: name - " + tagItem.getName() + ", category - " + tagItem.getCategory());
  }
}
Title: Impact Moderato
Tag for property: name - Title, category - Content
TextValue: Impact Moderato

Essayez en ligne

Veuillez essayer l’outil d’extraction de métadonnées MP3 en ligne gratuit suivant, qui est développé à l’aide de l’API ci-dessus. https://products.groupdocs.app/metadata/total

Conclusion

Dans cet article, vous avez appris comment extraire les métadonnées des fichiers audio MP3 sur le cloud. Vous avez également appris à extraire des métadonnées en définissant des critères de recherche tels que la correspondance d’expressions exactes, l’utilisation d’une expression régulière et par nom ou valeur de propriété. Cet article a également expliqué comment télécharger par programmation un fichier audio MP3 sur le cloud. Vous pouvez en savoir plus sur l’API Cloud d’extraction GroupDocs.Metadata à l’aide de la documentation. Nous fournissons également une section API Reference qui vous permet de visualiser et d’interagir avec nos API directement via le navigateur. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également