
Ви можете програмно додавати, редагувати, видаляти або видобувати різні властивості аудіофайлів, які зберігаються у формі метаданих. Ви можете легко витягти такі властивості метаданих, як назва, виконавець і жанр, з аудіофайлів програмним шляхом у хмарі. У цій статті ви дізнаєтесь, як видобувати метадані аудіофайлів MP3 за допомогою REST API у Java.
У цій статті обговорюються/розкриваються такі теми:
- MP3 Metadata Extraction REST API та Java SDK
- Видобувайте метадані MP3-файлів за допомогою REST API у Java
- Вилучення метаданих шляхом зіставлення точної фрази за допомогою Java
- Вилучення метаданих за допомогою регулярного виразу за допомогою Java
- Отримайте метадані за назвою властивості за допомогою Java
- Видобуток метаданих за значенням властивості за допомогою Java
MP3 Metadata Extraction REST API та Java SDK
Я буду використовувати Java SDK GroupDocs.Metadata Cloud API для вилучення метаданих аудіофайлів 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
- Створіть ExtractRequest
- Викличте метод 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
- Укажіть значення для відповідності та встановіть параметри відповідності
- Створіть екземпляр SearchCriteria та встановіть NameOptions
- Створіть екземпляр FileInfo
- Встановіть шлях до файлу MP3
- Створіть екземпляр ExtractOptions
- Призначте визначені SearchCriteria та FileInfo параметрам ExtractOptions
- Створіть ExtractRequest
- Викличте метод 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
- Надайте регулярний вираз і встановіть параметри відповідності
- Створіть екземпляр SearchCriteria та встановіть NameOptions
- Створіть екземпляр FileInfo
- Встановіть шлях до файлу MP3
- Створіть екземпляр ExtractOptions
- Призначте визначені SearchCriteria та FileInfo параметрам ExtractOptions
- Створіть ExtractRequest
- Викличте метод 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
- Створіть ExtractRequest
- Викличте метод 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
- Створіть ExtractRequest
- Викличте метод 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 у хмару. Ви можете дізнатися більше про GroupDocs.Metadata Extraction Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.