Extrahieren Sie Metadaten von MP3 Dateien mithilfe der REST-API in Java

Sie können verschiedene Eigenschaften von Audiodateien, die in Form von Metadaten gespeichert sind, programmgesteuert hinzufügen, bearbeiten, entfernen oder extrahieren. Sie können Metadateneigenschaften wie Titel, Künstler und Genre ganz einfach programmgesteuert in der Cloud aus Audiodateien extrahieren. In diesem Artikel erfahren Sie, wie Sie die Metadaten von MP3-Audiodateien mithilfe einer REST-API in Java extrahieren.

Die folgenden Themen werden in diesem Artikel besprochen/behandelt:

MP3-Metadatenextraktion REST API und Java SDK

Ich werde die Java SDK of GroupDocs.Metadata Cloud API zum Extrahieren von Metadaten von MP3 Audiodateien verwenden. Es ermöglicht Ihnen, Metadateneigenschaften aus über 60 Arten von Dokumenten, Bildern und Multimediadateiformaten hinzuzufügen, zu bearbeiten, abzurufen und zu entfernen. Sie müssen lediglich die Suchkriterien definieren und die API kümmert sich um die angegebenen Metadatenoperationen in unterstützten Dateiformaten. Die API funktioniert mit den wichtigsten Metadatenstandards wie integrierten, XMP, EXIF, IPTC, Image Resource Blocks, ID3 und benutzerdefinierten Metadateneigenschaften. Es stellt außerdem das .NET SDK als Mitglieder der Dokument-Metadaten-Manipulationsfamilie für die Cloud-API bereit.

Sie können GroupDocs.Metadata Cloud problemlos in Ihren Maven-basierten Java-Anwendungen verwenden, indem Sie die folgende pom.xml-Konfiguration hinzufügen.

<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>

Bitte rufen Sie Ihre Kunden-ID und Ihr Geheimnis aus dem Dashboard ab, bevor Sie die genannten Schritte ausführen. Sobald Sie Ihre ID und Ihr Geheimnis haben, fügen Sie den Code wie unten gezeigt ein:

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

Configuration configuration = new Configuration(clientId, clientSecret);

Extrahieren Sie Metadaten von MP3 Dateien mithilfe der REST-API in Java

Sie können Metadaten von MP3-Audiodateien ganz einfach extrahieren, indem Sie die folgenden einfachen Schritte ausführen:

  1. Hochladen der MP3-Datei in die Cloud
  2. Metadaten von MP3-Audiodateien mit Java extrahieren

Laden Sie die Datei hoch

Laden Sie zunächst die MP3-Audiodatei mithilfe des unten angegebenen Codebeispiels in die Cloud hoch:

// API-Initialisierung
FileApi apiInstance = new FileApi(clientId, clientSecret);

// Eingabedatei
File fileStream = new File("C:\\Files\\sample.mp3");

// Datei-Upload-Anfrage erstellen
UploadFileRequest request = new UploadFileRequest("sample.mp3", fileStream, myStorage);

// Datei hochladen
FilesUploadResult response = apiInstance.uploadFile(request);

Dadurch ist die hochgeladene MP3-Datei im Dateienbereich Ihres Dashboards in der Cloud verfügbar.

Extrahieren Sie Metadaten von MP3-Audiodateien mit Java

Sie können alle Metadateneigenschaften von MP3-Audiodateien programmgesteuert extrahieren, indem Sie die folgenden Schritte ausführen.

  • Erstellen Sie eine Instanz der MetadataApi
  • Erstellen Sie eine Instanz der FileInfo
  • Legen Sie den MP3-Dateipfad fest
  • Erstellen Sie eine Instanz von ExtractOptions
  • Weisen Sie FileInfo den ExtractOptions zu
  • Erstellen Sie die ExtractRequest
  • Rufen Sie die Methode MetadataApi.extract() auf und erhalten Sie Ergebnisse

Das folgende Codebeispiel zeigt, wie Metadaten einer MP3-Datei mithilfe einer REST-API extrahiert werden.

// API initialisieren
MetadataApi apiInstance = new MetadataApi(configuration);

// Definieren Sie Extraktionsoptionen
ExtractOptions options = new ExtractOptions();
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);

// Auszugsanforderung erstellen
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);

// zeige Ergebnisse
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 

Metadatenextraktion durch Abgleich exakter Phrasen mit Java

Sie können die Metadateneigenschaft von MP3 Dateien extrahieren, die genau mit der Phrase übereinstimmen, indem Sie die folgenden Schritte ausführen:

  • Erstellen Sie eine Instanz von MetadataApi
  • Erstellen Sie eine Instanz von MatchOptions und setzen Sie ExactPhrase auf true
  • Initialisieren Sie eine Instanz von NameOptions
  • Geben Sie einen passenden Wert an und legen Sie MatchOptions fest
  • Erstellen Sie eine Instanz von SearchCriteria und legen Sie NameOptions fest
  • Erstellen Sie eine Instanz der FileInfo
  • Legen Sie den MP3-Dateipfad fest
  • Erstellen Sie eine Instanz von ExtractOptions
  • Weisen Sie den ExtractOptions die definierten SearchCriteria und FileInfo zu
  • Erstellen Sie die ExtractRequest
  • Rufen Sie die Methode MetadataApi.extract() auf und erhalten Sie Ergebnisse

Das folgende Codebeispiel zeigt, wie Metadaten durch Abgleichen exakter Phrasen mithilfe einer REST-API extrahiert werden.

// API initialisieren
MetadataApi apiInstance = new MetadataApi(configuration);

// Match-Option erstellen
MatchOptions matchOptions = new MatchOptions();
matchOptions.setExactPhrase(true);

// Option zum Erstellen eines Namens
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("MimeType");
nameOptions.setMatchOptions(matchOptions);

// Suchkriterien definieren
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);

// Definieren Sie Extraktionsoptionen
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);

// Eingabedatei bereitstellen
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);

// Auszugsanforderung erstellen
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);

// zeige Ergebnisse
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

Metadatenextraktion durch reguläre Ausdrücke mit Java

Sie können Suchkriterien definieren, um die Metadaten von MP3 Dateien mithilfe des regulären Ausdrucks zu extrahieren, indem Sie die folgenden Schritte ausführen:

  • Erstellen Sie eine Instanz der MetadataApi
  • Initialisieren Sie eine Instanz von MatchOptions und setzen Sie IsRegex auf true
  • Erstellen Sie eine Instanz von NameOptions
  • Stellen Sie einen regulären Ausdruck bereit und legen Sie MatchOptions fest
  • Erstellen Sie eine Instanz von SearchCriteria und legen Sie NameOptions fest
  • Erstellen Sie eine Instanz der FileInfo
  • Legen Sie den MP3-Dateipfad fest
  • Erstellen Sie eine Instanz von ExtractOptions
  • Weisen Sie den ExtractOptions die definierten SearchCriteria und FileInfo zu
  • Erstellen Sie die ExtractRequest
  • Rufen Sie die Methode MetadataApi.extract() auf und erhalten Sie Ergebnisse

Das folgende Codebeispiel zeigt, wie man mithilfe einer REST-API Metadaten durch reguläre Ausdrücke extrahiert.

// API initialisieren
MetadataApi apiInstance = new MetadataApi(configuration);

// Match-Option erstellen
MatchOptions matchOptions = new MatchOptions();
matchOptions.setIsRegex(true);

// Option zum Erstellen eines Namens
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("^Co.*");
nameOptions.setMatchOptions(matchOptions);

// Suchkriterien definieren
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);

// Definieren Sie Extraktionsoptionen
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);

// Eingabedatei bereitstellen
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);

// Auszugsanforderung erstellen
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 

Extrahieren Sie Metadaten nach Eigenschaftsnamen mit Java

Sie können Suchkriterien definieren, um die Metadaten von MP3 Dateien für eine bestimmte Eigenschaft zu extrahieren, indem Sie die folgenden Schritte ausführen:

  • Erstellen Sie eine Instanz der MetadataApi
  • Initialisieren Sie eine Instanz von NameOptions und legen Sie den Wert fest
  • Erstellen Sie eine Instanz von SearchCriteria und legen Sie NameOptions fest
  • Erstellen Sie eine Instanz der FileInfo
  • Legen Sie den MP3-Dateipfad fest
  • Erstellen Sie eine Instanz von ExtractOptions
  • Weisen Sie den ExtractOptions die definierten SearchCriteria und FileInfo zu
  • Erstellen Sie die ExtractRequest
  • Rufen Sie die Methode MetadataApi.extract() auf und erhalten Sie Ergebnisse

Das folgende Codebeispiel zeigt, wie Metadaten extrahiert werden, indem mithilfe einer REST-API nach einem Eigenschaftsnamen gesucht wird.

// API initialisieren
MetadataApi apiInstance = new MetadataApi(configuration);

// Option zum Erstellen eines Namens
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("Artist");

// Suchkriterien definieren
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);

// Eingabedatei bereitstellen
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");

// Definieren Sie Extraktionsoptionen
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
options.setFileInfo(fileInfo);

// Auszugsanforderung erstellen
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

Extrahieren Sie Metadaten nach Eigenschaftswert mit Java

Sie können Suchkriterien definieren, um die Metadaten von MP3 Dateien zu extrahieren, die mit dem Eigenschaftswert übereinstimmen, indem Sie die folgenden Schritte ausführen:

  • Erstellen Sie eine Instanz der MetadataApi
  • Erstellen Sie eine Instanz von ValueOptions
  • Geben Sie den zu suchenden Wert und seinen Typ an
  • Erstellen Sie eine Instanz von SearchCriteria und legen Sie ValueOptions fest
  • Erstellen Sie eine Instanz der FileInfo
  • Legen Sie den MP3-Dateipfad fest
  • Erstellen Sie eine Instanz von ExtractOptions
  • Weisen Sie den ExtractOptions die definierten SearchCriteria und FileInfo zu
  • Erstellen Sie die ExtractRequest
  • Rufen Sie die Methode MetadataApi.extract() auf und erhalten Sie Ergebnisse

Das folgende Code-Snippet zeigt, wie Metadaten extrahiert werden, indem der Eigenschaftswert mithilfe einer REST-API gesucht wird.

// API initialisieren
MetadataApi apiInstance = new MetadataApi(configuration);

// Wertoptionen schaffen
ValueOptions valueOptions = new ValueOptions();
valueOptions.setValue("Impact Moderato");
valueOptions.setType("string");

// Suchkriterien definieren
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setValueOptions(valueOptions);

// Eingabedatei bereitstellen
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");

// Definieren Sie Extraktionsoptionen
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
options.setFileInfo(fileInfo);

// Auszugsanforderung erstellen
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

Versuchen Sie es online

Bitte probieren Sie das folgende kostenlose Online-Tool zur Extraktion von MP3-Metadaten aus, das mit der oben genannten API entwickelt wurde. https://products.groupdocs.app/metadata/total

Abschluss

In diesem Artikel haben Sie erfahren, wie Sie die Metadaten von MP3-Audiodateien in der Cloud extrahieren. Sie haben außerdem gelernt, wie Sie Metadaten extrahieren, indem Sie Suchkriterien definieren, z. B. die Übereinstimmung mit genauen Phrasen, die Verwendung eines regulären Ausdrucks und den Namen oder Wert einer Eigenschaft. In diesem Artikel wurde auch erklärt, wie man eine MP3-Audiodatei programmgesteuert in die Cloud hochlädt. Weitere Informationen zur GroupDocs.Metadata Extraction Cloud API finden Sie in der Dokumentation. Wir bieten auch einen Abschnitt API-Referenz an, mit dem Sie unsere APIs direkt über den Browser visualisieren und mit ihnen interagieren können. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch