Możesz programowo dodawać, edytować, usuwać lub wyodrębniać różne właściwości plików audio przechowywanych w postaci metadanych. Możesz łatwo programowo wyodrębnić właściwości metadanych, takie jak tytuł, wykonawca i gatunek z plików audio w chmurze. W tym artykule dowiesz się, jak wyodrębnić metadane plików audio MP3 za pomocą interfejsu API REST w Javie.
W tym artykule omówiono/omówiono następujące tematy:
- Wyodrębnianie metadanych MP3 REST API i Java SDK
- Wyodrębnij metadane plików MP3 za pomocą REST API w Javie
- Ekstrakcja metadanych przez dopasowanie dokładnej frazy przy użyciu języka Java
- Ekstrakcja metadanych za pomocą wyrażeń regularnych przy użyciu języka Java
- Wyodrębnij metadane według nazwy właściwości przy użyciu języka Java
- Wyodrębnij metadane według wartości właściwości przy użyciu języka Java
Wyodrębnianie metadanych MP3 REST API i Java SDK
Będę używać Java SDK of GroupDocs.Metadata Cloud API do wyodrębniania metadanych plików audio MP3. Pozwala dodawać, edytować, pobierać i usuwać właściwości metadanych z ponad 60 typów dokumentów, obrazów i formatów plików multimedialnych. Wystarczy zdefiniować kryteria wyszukiwania, a API zajmie się określonymi operacjami na metadanych w ramach obsługiwanych formatów plików. Interfejs API współpracuje z najważniejszymi standardami metadanych, takimi jak wbudowane, XMP, EXIF, IPTC, bloki zasobów obrazu, ID3 i niestandardowe właściwości metadanych. Udostępnia również .NET SDK jako członków rodziny manipulowania metadanymi dokumentów dla Cloud API.
Możesz łatwo używać GroupDocs.Metadata Cloud w swoich aplikacjach Java opartych na Maven, dodając następującą konfigurację pom.xml.
<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>
Przed wykonaniem wspomnianych kroków uzyskaj swój identyfikator klienta i klucz tajny z panelu nawigacyjnego. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:
String clientId = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5";
String clientSecret = "479db2b01dcb93a3d4d20efb16dea971";
String myStorage = "";
Configuration configuration = new Configuration(clientId, clientSecret);
Wyodrębnij metadane plików MP3 za pomocą REST API w Javie
Możesz łatwo wyodrębnić metadane plików audio MP3, wykonując proste czynności podane poniżej:
- Prześlij plik MP3 do chmury
- Wyodrębnij metadane plików audio MP3 przy użyciu języka Java
Prześlij plik
Najpierw prześlij plik audio MP3 do chmury, korzystając z przykładowego kodu podanego poniżej:
// inicjalizacja API
FileApi apiInstance = new FileApi(clientId, clientSecret);
// plik wejściowy
File fileStream = new File("C:\\Files\\sample.mp3");
// utwórz żądanie przesłania pliku
UploadFileRequest request = new UploadFileRequest("sample.mp3", fileStream, myStorage);
// Przesyłanie pliku
FilesUploadResult response = apiInstance.uploadFile(request);
W rezultacie przesłany plik MP3 będzie dostępny w sekcji plików Twojego pulpitu nawigacyjnego w chmurze.
Wyodrębnij metadane plików audio MP3 za pomocą języka Java
Możesz programowo wyodrębnić wszystkie właściwości metadanych plików audio MP3, wykonując czynności podane poniżej.
- Utwórz wystąpienie MetadataApi
- Utwórz instancję FileInfo
- Ustaw ścieżkę pliku MP3
- Utwórz instancję ExtractOptions
- Przypisz FileInfo do ExtractOptions
- Utwórz plik ExtractRequest
- Wywołaj metodę MetadataApi.extract() i uzyskaj wyniki
Poniższy przykładowy kod pokazuje, jak wyodrębnić metadane pliku MP3 przy użyciu interfejsu API REST.
// zainicjować api
MetadataApi apiInstance = new MetadataApi(configuration);
// zdefiniuj opcje wyodrębniania
ExtractOptions options = new ExtractOptions();
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);
// utwórz żądanie wyodrębnienia
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);
// Pokaż wyniki
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
Ekstrakcja metadanych przez dopasowanie dokładnej frazy przy użyciu języka Java
Możesz wyodrębnić właściwość metadanych plików MP3 pasujących dokładnie do frazy, wykonując poniższe czynności:
- Utwórz instancję MetadataApi
- Utwórz instancję MatchOptions i ustaw ExactPhrase na true
- Zainicjuj wystąpienie NameOptions
- Podaj wartość do dopasowania i ustaw MatchOptions
- Utwórz instancję SearchCriteria i ustaw NameOptions
- Utwórz instancję FileInfo
- Ustaw ścieżkę pliku MP3
- Utwórz instancję ExtractOptions
- Przypisz zdefiniowane SearchCriteria i FileInfo do ExtractOptions
- Utwórz plik ExtractRequest
- Wywołaj metodę MetadataApi.extract() i uzyskaj wyniki
Poniższy przykładowy kod pokazuje, jak wyodrębnić metadane, dopasowując dokładną frazę przy użyciu interfejsu API REST.
// zainicjować api
MetadataApi apiInstance = new MetadataApi(configuration);
// utwórz opcję dopasowania
MatchOptions matchOptions = new MatchOptions();
matchOptions.setExactPhrase(true);
// utwórz opcję nazwy
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("MimeType");
nameOptions.setMatchOptions(matchOptions);
// zdefiniuj kryteria wyszukiwania
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);
// zdefiniuj opcje wyodrębniania
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
// podaj plik wejściowy
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);
// utwórz żądanie wyodrębnienia
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);
// Pokaż wyniki
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
Ekstrakcja metadanych za pomocą wyrażeń regularnych przy użyciu języka Java
Możesz zdefiniować kryteria wyszukiwania, aby wyodrębnić metadane plików MP3 za pomocą wyrażenia regularnego, wykonując poniższe czynności:
- Utwórz wystąpienie MetadataApi
- Zainicjuj wystąpienie MatchOptions i ustaw IsRegex na true
- Utwórz instancję NameOptions
- Podaj wyrażenie regularne i ustaw MatchOptions
- Utwórz instancję SearchCriteria i ustaw NameOptions
- Utwórz instancję FileInfo
- Ustaw ścieżkę pliku MP3
- Utwórz instancję ExtractOptions
- Przypisz zdefiniowane SearchCriteria i FileInfo do ExtractOptions
- Utwórz plik ExtractRequest
- Wywołaj metodę MetadataApi.extract() i uzyskaj wyniki
Poniższy przykładowy kod pokazuje, jak wyodrębnić wyszukiwanie metadanych za pomocą wyrażenia regularnego przy użyciu interfejsu API REST.
// zainicjować api
MetadataApi apiInstance = new MetadataApi(configuration);
// utwórz opcję dopasowania
MatchOptions matchOptions = new MatchOptions();
matchOptions.setIsRegex(true);
// utwórz opcję nazwy
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("^Co.*");
nameOptions.setMatchOptions(matchOptions);
// zdefiniuj kryteria wyszukiwania
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);
// zdefiniuj opcje wyodrębniania
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
// podaj plik wejściowy
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);
// utwórz żądanie wyodrębnienia
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
Wyodrębnij metadane według nazwy właściwości przy użyciu języka Java
Możesz zdefiniować kryteria wyszukiwania, aby wyodrębnić metadane plików MP3 dla określonej właściwości, wykonując poniższe czynności:
- Utwórz wystąpienie MetadataApi
- Zainicjuj wystąpienie NameOptions i ustaw wartość
- Utwórz instancję SearchCriteria i ustaw NameOptions
- Utwórz instancję FileInfo
- Ustaw ścieżkę pliku MP3
- Utwórz instancję ExtractOptions
- Przypisz zdefiniowane SearchCriteria i FileInfo do ExtractOptions
- Utwórz plik ExtractRequest
- Wywołaj metodę MetadataApi.extract() i uzyskaj wyniki
Poniższy przykładowy kod pokazuje, jak wyodrębnić metadane, wyszukując nazwę właściwości przy użyciu interfejsu API REST.
// zainicjować api
MetadataApi apiInstance = new MetadataApi(configuration);
// utwórz opcję nazwy
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("Artist");
// zdefiniuj kryteria wyszukiwania
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);
// podaj plik wejściowy
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
// zdefiniuj opcje wyodrębniania
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
options.setFileInfo(fileInfo);
// utwórz żądanie wyodrębnienia
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
Wyodrębnij metadane według wartości właściwości przy użyciu języka Java
Możesz zdefiniować kryteria wyszukiwania, aby wyodrębnić metadane plików MP3 pasujące do wartości właściwości, wykonując poniższe czynności:
- Utwórz wystąpienie MetadataApi
- Utwórz wystąpienie ValueOptions
- Podaj wartość do wyszukania i jej typ
- Utwórz instancję SearchCriteria i ustaw ValueOptions
- Utwórz instancję FileInfo
- Ustaw ścieżkę pliku MP3
- Utwórz instancję ExtractOptions
- Przypisz zdefiniowane SearchCriteria i FileInfo do ExtractOptions
- Utwórz plik ExtractRequest
- Wywołaj metodę MetadataApi.extract() i uzyskaj wyniki
Poniższy fragment kodu pokazuje, jak wyodrębnić metadane, przeszukując wartość właściwości przy użyciu interfejsu API REST.
// zainicjować api
MetadataApi apiInstance = new MetadataApi(configuration);
// tworzyć opcje wartości
ValueOptions valueOptions = new ValueOptions();
valueOptions.setValue("Impact Moderato");
valueOptions.setType("string");
// zdefiniuj kryteria wyszukiwania
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setValueOptions(valueOptions);
// podaj plik wejściowy
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
// zdefiniuj opcje wyodrębniania
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
options.setFileInfo(fileInfo);
// utwórz żądanie wyodrębnienia
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
Wypróbuj online
Wypróbuj następujące bezpłatne narzędzie online do ekstrakcji metadanych MP3, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/metadata/total
Wniosek
W tym artykule nauczyłeś się, jak wyodrębnić metadane plików audio MP3 w chmurze. Nauczyłeś się również, jak wyodrębniać metadane, definiując kryteria wyszukiwania, takie jak dopasowanie dokładnych fraz, użycie wyrażenia regularnego oraz według nazwy właściwości lub wartości. W tym artykule wyjaśniono również, jak programowo przesłać plik audio MP3 do chmury. Możesz dowiedzieć się jeszcze więcej o GroupDocs.Metadata ekstrakcji Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację i interakcję z naszymi interfejsami API bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.