فراداده فایل های MP3 را با استفاده از REST API در جاوا استخراج کنید

شما می توانید ویژگی های مختلف فایل های صوتی ذخیره شده در قالب ابرداده را به صورت برنامه نویسی اضافه، ویرایش، حذف یا استخراج کنید. شما به راحتی می توانید ویژگی های ابرداده مانند عنوان، هنرمند و سبک را از فایل های صوتی به صورت برنامه نویسی در فضای ابری استخراج کنید. در این مقاله نحوه استخراج ابرداده فایل های صوتی MP3 با استفاده از REST API در جاوا را خواهید آموخت.

موضوعات زیر در این مقاله مورد بحث/پوشش قرار گرفته است:

MP3 Metadata Extraction REST API و Java SDK

من از Java SDK of GroupDocs.Metadata Cloud API برای استخراج فراداده فایل های صوتی MP3 استفاده خواهم کرد. این به شما اجازه می دهد تا ویژگی های ابرداده را از بیش از 60 نوع سند، تصویر و فرمت فایل های چندرسانه ای اضافه کنید، ویرایش کنید، بازیابی کنید و حذف کنید. شما فقط باید معیارهای جستجو را تعریف کنید و API از عملیات فوق داده مشخص شده در فرمت های فایل پشتیبانی شده مراقبت می کند. API با قابل‌توجه‌ترین استانداردهای ابرداده مانند داخلی، XMP، EXIF، IPTC، بلوک‌های منبع تصویر، ID3 و ویژگی‌های فراداده سفارشی کار می‌کند. همچنین .NET SDK را به عنوان [اعضای خانواده دستکاری فراداده سند4 برای Cloud API ارائه می‌کند.

با افزودن پیکربندی pom.xml زیر می‌توانید به راحتی از GroupDocs.Metadata Cloud در برنامه‌های جاوا مبتنی بر Maven خود استفاده کنید.

<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 در جاوا استخراج کنید

با دنبال کردن مراحل ساده زیر می توانید به راحتی ابرداده فایل های صوتی MP3 را استخراج کنید:

  1. آپلود فایل MP3 در Cloud
  2. استخراج متادیتا فایل‌های صوتی MP3 با استفاده از جاوا

فایل را آپلود کنید

ابتدا فایل صوتی MP3 را با استفاده از نمونه کد زیر در Cloud آپلود کنید:

// مقداردهی اولیه 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 با استفاده از جاوا

با دنبال کردن مراحل زیر می‌توانید تمام ویژگی‌های ابرداده فایل‌های صوتی 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 

استخراج فراداده با تطبیق عبارت دقیق با استفاده از جاوا

با دنبال کردن مراحل زیر می‌توانید ویژگی ابرداده فایل‌های MP3 را که دقیقاً با عبارت مطابقت دارند استخراج کنید:

  • یک نمونه از MetadataApi ایجاد کنید
  • یک نمونه از MatchOptions ایجاد کنید و ExactPhrase را روی true تنظیم کنید
  • نمونه ای از NameOptions را راه اندازی کنید
  • مقداری برای مطابقت ارائه دهید و MatchOptions را تنظیم کنید
  • یک نمونه از SearchCriteria ایجاد کنید و NameOptions را تنظیم کنید
  • یک نمونه از FileInfo ایجاد کنید
  • مسیر فایل MP3 را تنظیم کنید
  • یک نمونه از ExtractOptions ایجاد کنید
  • SearchCriteria و FileInfo تعریف شده را به ExtractOptions اختصاص دهید
  • ExtractRequest را ایجاد کنید
  • متد MetadataApi.extract() را فراخوانی کنید و نتایج را دریافت کنید

نمونه کد زیر نحوه استخراج فراداده را با تطبیق عبارت دقیق با استفاده از REST API نشان می دهد.

// api را مقداردهی اولیه کنید
MetadataApi apiInstance = new MetadataApi(configuration);

// گزینه match را ایجاد کنید
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

استخراج ابرداده با بیان منظم با استفاده از جاوا

با دنبال کردن مراحل زیر می توانید معیارهای جستجو را برای استخراج فراداده فایل های MP3 با استفاده از عبارت منظم تعریف کنید:

  • یک نمونه از MetadataApi ایجاد کنید
  • نمونه ای از MatchOptions را راه اندازی کنید و IsRegex را روی true تنظیم کنید
  • یک نمونه از NameOptions ایجاد کنید
  • بیان منظم ارائه دهید و MatchOptions را تنظیم کنید
  • یک نمونه از 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 

استخراج ابرداده بر اساس نام ویژگی با استفاده از جاوا

با دنبال کردن مراحل زیر می توانید معیارهای جستجو را برای استخراج ابرداده فایل های 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

استخراج ابرداده بر اساس ارزش ویژگی با استفاده از جاوا

با دنبال کردن مراحل زیر می توانید معیارهای جستجو را برای استخراج فراداده فایل های 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

نتیجه

در این مقاله نحوه استخراج Metadata فایل های صوتی MP3 در فضای ابری را یاد گرفتید. شما همچنین یاد گرفته‌اید که چگونه با تعریف معیارهای جستجو مانند تطبیق عبارات دقیق، استفاده از یک عبارت منظم و بر اساس نام یا مقدار دارایی، ابرداده را استخراج کنید. در این مقاله همچنین نحوه آپلود برنامه‌ای فایل صوتی MP3 در فضای ابری توضیح داده شده است. با استفاده از مستندات می‌توانید حتی بیشتر درباره GroupDocs.Metadata استخراج Cloud API بیاموزید. ما همچنین یک بخش API Reference ارائه می‌کنیم که به شما امکان می‌دهد APIهای ما را مستقیماً از طریق مرورگر تجسم کرده و با آن‌ها تعامل داشته باشید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان تماس بگیرید.

همچنین ببینید