استخراج البيانات الوصفية لملفات MP3 باستخدام REST API في Java

يمكنك إضافة أو تحرير أو إزالة أو استخراج خصائص مختلفة لملفات الصوت المخزنة في شكل بيانات وصفية برمجيًا. يمكنك بسهولة استخراج خصائص البيانات الأولية مثل العنوان والفنان والنوع من ملفات الصوت برمجيًا على السحابة. في هذه المقالة ، ستتعلم كيفية استخراج البيانات الوصفية لملفات الصوت MP3 باستخدام واجهة برمجة تطبيقات REST في Java.

المواضيع التالية تمت مناقشتها / تناولها في هذه المقالة:

استخراج البيانات الوصفية MP3 REST API و Java SDK

سأستخدم Java SDK من GroupDocs.Metadata Cloud API لاستخراج البيانات الوصفية لملفات الصوت MP3. يسمح لك بإضافة خصائص البيانات الوصفية وتحريرها واستردادها وإزالتها من أكثر من 60 نوعًا من المستندات والصور وتنسيقات ملفات الوسائط المتعددة. تحتاج فقط إلى تحديد معايير البحث وستتولى واجهة برمجة التطبيقات عمليات البيانات الوصفية المحددة ضمن تنسيقات الملفات المدعومة. تعمل واجهة برمجة التطبيقات مع أكثر معايير البيانات الوصفية شهرة مثل المضمنة ، و XMP ، و EXIF ، و IPTC ، و Image Resource Blocks ، و ID3 ، وخصائص البيانات الوصفية المخصصة. كما أنها توفر .NET SDK باعتبارها أعضاء عائلة معالجة بيانات تعريف المستندات لواجهة برمجة التطبيقات السحابية.

يمكنك بسهولة استخدام 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 باتباع الخطوات البسيطة الواردة أدناه:

  1. تحميل ملف MP3 إلى السحابة
  2. استخراج البيانات الوصفية لملفات 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
  • قم بتوفير قيمة لمطابقة وتعيين MatchOptions
  • قم بإنشاء مثيل لـ SearchCriteria وقم بتعيين NameOptions
  • قم بإنشاء مثيل FileInfo
  • اضبط مسار ملف MP3
  • إنشاء مثيل ExtractOptions
  • قم بتعيين SearchCriteria و FileInfo المعرفة إلى ExtractOptions
  • قم بإنشاء ExtractRequest
  • اتصل بطريقة MetadataApi.extract() واحصل على النتائج

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج البيانات الوصفية عن طريق مطابقة العبارة بالضبط باستخدام واجهة برمجة تطبيقات REST.

// تهيئة 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
  • قم بإنشاء ExtractRequest
  • اتصل بطريقة MetadataApi.extract() واحصل على النتائج

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج البيانات الوصفية التي تبحث عن طريق التعبير العادي باستخدام واجهة برمجة تطبيقات REST.

// تهيئة 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
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
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 المجانية التالية عبر الإنترنت ، والتي تم تطويرها باستخدام واجهة برمجة التطبيقات المذكورة أعلاه. https://products.groupdocs.app/metadata/total

خاتمة

في هذه المقالة ، تعلمت كيفية استخراج البيانات الوصفية لملفات الصوت MP3 على السحابة. لقد تعلمت أيضًا كيفية استخراج البيانات الوصفية من خلال تحديد معايير البحث مثل مطابقة العبارات الدقيقة ، واستخدام تعبير عادي ، وباسم الخاصية أو قيمتها. توضح هذه المقالة أيضًا كيفية تحميل ملف صوتي MP3 برمجيًا على السحابة. يمكنك معرفة المزيد عن GroupDocs.Metadata استخراج البيانات السحابية Cloud API باستخدام التوثيق. نوفر أيضًا قسم مرجع واجهة برمجة التطبيقات الذي يتيح لك تصور واجهات برمجة التطبيقات الخاصة بنا والتفاعل معها مباشرةً من خلال المتصفح. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا