Вы можете программно добавлять, редактировать, удалять или извлекать различные свойства аудиофайлов, хранящихся в виде метаданных. Вы можете легко программно извлекать свойства метаданных, такие как название, исполнитель и жанр, из аудиофайлов в облаке. В этой статье вы узнаете, как извлечь метаданные аудиофайлов MP3 с помощью REST API на Java.
В этой статье обсуждаются/рассматриваются следующие темы:
- Извлечение метаданных MP3 REST API и Java SDK
- Извлечение метаданных файлов MP3 с использованием REST API в Java
- Извлечение метаданных путем сопоставления точной фразы с использованием Java
- Извлечение метаданных с помощью регулярных выражений с использованием Java
- Извлечение метаданных по имени свойства с помощью Java
- Извлечение метаданных по значению свойства с использованием Java
Извлечение метаданных MP3 REST API и Java SDK
Я буду использовать API Java SDK of GroupDocs.Metadata Cloud для извлечения метаданных аудиофайлов MP3. Он позволяет добавлять, редактировать, извлекать и удалять свойства метаданных из более чем 60 типов документов, изображений и форматов мультимедийных файлов. Вам просто нужно определить критерии поиска, и API позаботится об указанных операциях с метаданными в поддерживаемых форматах файлов. API работает с наиболее известными стандартами метаданных, такими как встроенные, XMP, EXIF, IPTC, блоки ресурсов изображений, ID3 и настраиваемые свойства метаданных. Он также предоставляет .NET SDK в качестве своих членов семейства манипулирования метаданными документов для Cloud API.
Вы можете легко использовать GroupDocs.Metadata Cloud в своих Java-приложениях на основе Maven, добавив следующую конфигурацию 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>
Прежде чем выполнять указанные шаги, получите свой идентификатор клиента и секрет на панели управления. Получив свой идентификатор и секрет, добавьте код, как показано ниже:
String clientId = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5";
String clientSecret = "479db2b01dcb93a3d4d20efb16dea971";
String myStorage = "";
Configuration configuration = new Configuration(clientId, clientSecret);
Извлечение метаданных файлов MP3 с использованием REST API в Java
Вы можете легко извлечь метаданные аудиофайлов MP3, выполнив простые шаги, указанные ниже:
- Загрузить файл MP3 в облако
- Извлечение метаданных аудиофайлов MP3 с помощью Java
Загрузить файл
Во-первых, загрузите аудиофайл MP3 в облако, используя пример кода, приведенный ниже:
// инициализация API
FileApi apiInstance = new FileApi(clientId, clientSecret);
// входной файл
File fileStream = new File("C:\\Files\\sample.mp3");
// создать запрос на загрузку файла
UploadFileRequest request = new UploadFileRequest("sample.mp3", fileStream, myStorage);
// загрузить файл
FilesUploadResult response = apiInstance.uploadFile(request);
В результате загруженный файл MP3 будет доступен в разделе файлов вашей панели управления в облаке.
Извлечение метаданных аудиофайлов MP3 с использованием Java
Вы можете программно извлечь все свойства метаданных аудиофайлов MP3, выполнив шаги, указанные ниже.
- Создайте экземпляр MetadataApi
- Создайте экземпляр FileInfo
- Установите путь к файлу MP3
- Создайте экземпляр ExtractOptions
- Назначьте FileInfo для ExtractOptions
- Создайте запрос на извлечение
- Вызовите метод MetadataApi.extract() и получите результаты
В следующем примере кода показано, как извлечь метаданные файла MP3 с помощью REST API.
// инициализировать API
MetadataApi apiInstance = new MetadataApi(configuration);
// определить параметры извлечения
ExtractOptions options = new ExtractOptions();
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);
// создать запрос на извлечение
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);
// показать результаты
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
Извлечение метаданных путем сопоставления точной фразы с использованием Java
Вы можете извлечь свойство метаданных файлов MP3, соответствующих точной фразе, выполнив следующие действия:
- Создайте экземпляр MetadataApi
- Создайте экземпляр MatchOptions и установите для ExactPhrase значение true.
- Инициализировать экземпляр NameOptions
- Укажите значение для соответствия и установите MatchOptions
- Создайте экземпляр SearchCriteria и установите NameOptions
- Создайте экземпляр FileInfo
- Установите путь к файлу MP3
- Создайте экземпляр ExtractOptions
- Назначьте определенные SearchCriteria и FileInfo для ExtractOptions.
- Создайте запрос на извлечение
- Вызовите метод MetadataApi.extract() и получите результаты
В следующем примере кода показано, как извлечь метаданные, сопоставив точную фразу с помощью REST API.
// инициализировать API
MetadataApi apiInstance = new MetadataApi(configuration);
// создать вариант соответствия
MatchOptions matchOptions = new MatchOptions();
matchOptions.setExactPhrase(true);
// создать вариант имени
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("MimeType");
nameOptions.setMatchOptions(matchOptions);
// определить критерии поиска
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);
// определить параметры извлечения
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
// предоставить входной файл
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);
// создать запрос на извлечение
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());
}
}
MimeType: audio/mpeg
Tag for property: name - FileFormat, category - Content
Извлечение метаданных с помощью регулярных выражений с использованием Java
Вы можете определить критерии поиска для извлечения метаданных файлов MP3 с помощью регулярного выражения, выполнив следующие шаги:
- Создайте экземпляр MetadataApi
- Инициализируйте экземпляр MatchOptions и установите для IsRegex значение true.
- Создайте экземпляр NameOptions
- Укажите регулярное выражение и установите MatchOptions
- Создайте экземпляр SearchCriteria и установите NameOptions
- Создайте экземпляр FileInfo
- Установите путь к файлу MP3
- Создайте экземпляр ExtractOptions
- Назначьте определенные SearchCriteria и FileInfo для ExtractOptions.
- Создайте запрос на извлечение
- Вызовите метод MetadataApi.extract() и получите результаты
В следующем примере кода показано, как извлечь поиск метаданных с помощью регулярного выражения с помощью REST API.
// инициализировать API
MetadataApi apiInstance = new MetadataApi(configuration);
// создать вариант соответствия
MatchOptions matchOptions = new MatchOptions();
matchOptions.setIsRegex(true);
// создать вариант имени
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("^Co.*");
nameOptions.setMatchOptions(matchOptions);
// определить критерии поиска
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);
// определить параметры извлечения
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
// предоставить входной файл
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
options.setFileInfo(fileInfo);
// создать запрос на извлечение
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
Извлечение метаданных по имени свойства с помощью Java
Вы можете определить критерии поиска для извлечения метаданных файлов MP3 для определенного свойства, выполнив следующие шаги:
- Создайте экземпляр MetadataApi
- Инициализируйте экземпляр NameOptions и установите значение
- Создайте экземпляр SearchCriteria и установите NameOptions
- Создайте экземпляр FileInfo
- Установите путь к файлу MP3
- Создайте экземпляр ExtractOptions
- Назначьте определенные SearchCriteria и FileInfo для ExtractOptions.
- Создайте запрос на извлечение
- Вызовите метод MetadataApi.extract() и получите результаты
В следующем примере кода показано, как извлечь метаданные путем поиска имени свойства с помощью REST API.
// инициализировать API
MetadataApi apiInstance = new MetadataApi(configuration);
// создать вариант имени
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("Artist");
// определить критерии поиска
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setNameOptions(nameOptions);
// предоставить входной файл
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
// определить параметры извлечения
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
options.setFileInfo(fileInfo);
// создать запрос на извлечение
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
Извлечение метаданных по значению свойства с использованием Java
Вы можете определить критерии поиска для извлечения метаданных файлов MP3, соответствующих значению свойства, выполнив следующие шаги:
- Создайте экземпляр MetadataApi
- Создайте экземпляр ValueOptions
- Укажите значение для поиска и его тип
- Создайте экземпляр SearchCriteria и установите ValueOptions.
- Создайте экземпляр FileInfo
- Установите путь к файлу MP3
- Создайте экземпляр ExtractOptions
- Назначьте определенные SearchCriteria и FileInfo для ExtractOptions.
- Создайте запрос на извлечение
- Вызовите метод MetadataApi.extract() и получите результаты
В следующем фрагменте кода показано, как извлечь метаданные путем поиска значения свойства с помощью REST API.
// инициализировать API
MetadataApi apiInstance = new MetadataApi(configuration);
// создать параметры стоимости
ValueOptions valueOptions = new ValueOptions();
valueOptions.setValue("Impact Moderato");
valueOptions.setType("string");
// определить критерии поиска
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.setValueOptions(valueOptions);
// предоставить входной файл
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.mp3");
// определить параметры извлечения
ExtractOptions options = new ExtractOptions();
options.setSearchCriteria(searchCriteria);
options.setFileInfo(fileInfo);
// создать запрос на извлечение
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
Попробуйте онлайн
Пожалуйста, попробуйте следующий бесплатный онлайн-инструмент для извлечения метаданных MP3, разработанный с использованием вышеуказанного API. https://products.groupdocs.app/metadata/total
Заключение
В этой статье вы узнали, как извлечь метаданные аудиофайлов MP3 в облаке. Вы также узнали, как извлекать метаданные, определяя критерии поиска, такие как совпадение точных фраз, использование регулярного выражения и по имени или значению свойства. В этой статье также объясняется, как программно загрузить аудиофайл MP3 в облако. Вы можете узнать больше об облачном API извлечения метаданных GroupDocs.Metadata, используя документацию. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.