يتم إرفاق متغيرات البيانات الوصفية بمستندات ذات تنسيقات ملفات مختلفة. تحتوي ملفات MP3 عادةً على علامات بيانات تعريف ID3. تتناول هذه المقالة كيفية قراءة علامات MP3 المختلفة في Java. سنرى كيفية استخراج ID3 (IDEv1 و ID3v2) و Lyrics و APEv2 metadata من ملفات mp3 باستخدام Java Metadata API واحدًا تلو الآخر.
يتم تناول الموضوعات التالية أدناه:
- Java API لإدارة علامات MP3
- قراءة علامات MP3 ID3 - ID3v1 و ID3v2
- احصل على علامات كلمات MP3
- استرجاع علامات MP3 APEv2
Java API لعلامات البيانات الوصفية MP3
تم تجهيز GroupDocs.Metadata بواجهات برمجة التطبيقات لأتمتة إدارة البيانات الوصفية لـ [تنسيقات الملفات المختلفة](https://docs.groupdocs.com/metadata/net/supported-document -التنسيق /) داخل التطبيقات. تسمح لك Java API بقراءة البيانات الوصفية وتحديثها وإضافتها وتنظيفها وإزالتها للعديد من تنسيقات الملفات داخل تطبيق Java. سنستخدمها للعمل مع علامات البيانات الوصفية MP3.
التنزيل والتكوين
احصل على مكتبة البيانات الوصفية من قسم التنزيلات. بالنسبة إلى تطبيق Java المستند إلى Maven ، ما عليك سوى إضافة التكوين pom.xml التالي. بعد ذلك ، يمكنك تجربة أمثلة هذه المقالة بالإضافة إلى العديد من الأمثلة الأخرى المتوفرة على GitHub. للحصول على التفاصيل ، يمكنك زيارة مرجع واجهة برمجة التطبيقات.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-metadata</artifactId>
<version>22.2</version>
</dependency>
قراءة علامات MP3 ID3 في Java - ID3v1 و ID3v2
توضح الخطوات التالية كيفية قراءة علامات MP3 ID3v1 باستخدام Java.
- قم بتحميل ملف MP3 باستخدام فئة البيانات الوصفية.
- استرجع MP3RootPackage باستخدام طريقة getRootPackageGeneric ().
- من حزمة الجذر ، قم باسترداد كل خاصية من خصائص ID3v1.
يقرأ كود مصدر Java التالي بعض علامات MP3 ID3v1 لملف MP3.
// قراءة علامات ملف MP3 ID3V1
try (Metadata metadata = new Metadata("path/audio-ID3V1.mp3")) {
MP3RootPackage root = metadata.getRootPackageGeneric();
if (root.getID3V1() != null) {
System.out.println(root.getID3V1().getAlbum());
System.out.println(root.getID3V1().getArtist());
System.out.println(root.getID3V1().getTitle());
System.out.println(root.getID3V1().getVersion());
System.out.println(root.getID3V1().getComment());
// ...
}
}
يمكنك استخراج علامات ID3v2 بطريقة مماثلة. توضح الخطوات التالية كيفية استرداد علامات MP3 ID3v2 في Java.
- قم بتحميل ملف MP3 باستخدام فئة البيانات الوصفية.
- احصل على الحزمة الجذرية.
- من الجذر ، يمكنك بسهولة استرداد جميع علامات ID3v2 مثل الفنان والملحن والناشر والعنوان وما إلى ذلك.
- يمكن استرداد تفاصيل الصور المرفقة من خصائص إطارات الصور المرفقة.
يقرأ مثال كود مصدر Java التالي بعض علامات MP3 ID3v2 وتفاصيل الصور المرفقة لملف MP3.
// قراءة علامات ملف MP3 ID3V2
try (Metadata metadata = new Metadata("path/audio-ID3V2.mp3")) {
MP3RootPackage root = metadata.getRootPackageGeneric();
if (root.getID3V2() != null) {
System.out.println(root.getID3V2().getAlbum());
System.out.println(root.getID3V2().getArtist());
System.out.println(root.getID3V2().getBand());
System.out.println(root.getID3V2().getTitle());
System.out.println(root.getID3V2().getComposers());
System.out.println(root.getID3V2().getCopyright());
System.out.println(root.getID3V2().getPublisher());
System.out.println(root.getID3V2().getOriginalAlbum());
System.out.println(root.getID3V2().getMusicalKey());
if (root.getID3V2().getAttachedPictures() != null) {
for (ID3V2AttachedPictureFrame attachedPicture : root.getID3V2().getAttachedPictures()) {
System.out.println(attachedPicture.getAttachedPictureType());
System.out.println(attachedPicture.getMimeType());
System.out.println(attachedPicture.getDescription());
}
}
}
}
قراءة علامات كلمات MP3 في Java
توجه الخطوات التالية كيفية قراءة علامات MP3 Lyrics في Java.
- قم بتحميل ملف MP3 باستخدام فئة البيانات الوصفية.
- استرجع الحزمة الجذرية.
- من الجذر ، يمكنك الحصول على علامات كلمات الأغاني وخصائصها مثل الأغاني والفنان والمسار وما إلى ذلك.
يسترد مقتطف كود Java التالي علامات كلمات MP3 وبعض الخصائص من ملف MP3.
// قراءة علامات كلمات ملف MP3
try (Metadata metadata = new Metadata("path/audio-Lyrics.mp3")) {
MP3RootPackage root = metadata.getRootPackageGeneric();
if (root.getLyrics3V2() != null) {
System.out.println(root.getLyrics3V2().getLyrics());
System.out.println(root.getLyrics3V2().getAlbum());
System.out.println(root.getLyrics3V2().getArtist());
System.out.println(root.getLyrics3V2().getTrack());
// ...
// وبالمثل ، يمكنك اجتياز حقول العلامات
for (LyricsField field : root.getLyrics3V2().toList()) {
System.out.println(String.format("%s = %s", field.getID(), field.getData()));
}
}
}
قراءة علامات MP3 APEv2 في Java
توضح الخطوات التالية كيف يمكننا استخراج علامات MP3 APEv2 داخل تطبيق Java.
- قم بتحميل ملف MP3 باستخدام فئة البيانات الوصفية.
- استرجع الحزمة الجذرية باستخدام طريقة getRootPackageGeneric ().
- من الجذر ، يمكنك استرداد علامات APEv2 مثل Album ، و Genre ، و Copyrights ، و Language ، إلخ.
تقرأ أمثلة كود Java التالية بعض خصائص علامات MP3 APE لملف MP3.
// قراءة علامات ملف MP3 APE
try (Metadata metadata = new Metadata("path/audio-APE.mp3")) {
MP3RootPackage root = metadata.getRootPackageGeneric();
if (root.getApeV2() != null) {
System.out.println(root.getApeV2().getAlbum());
System.out.println(root.getApeV2().getTitle());
System.out.println(root.getApeV2().getArtist());
System.out.println(root.getApeV2().getComposer());
System.out.println(root.getApeV2().getCopyright());
System.out.println(root.getApeV2().getGenre());
System.out.println(root.getApeV2().getLanguage());
// ...
}
احصل على ترخيص API مجاني
يمكنك الحصول على ترخيص مؤقت مجاني لاستخدام واجهة برمجة التطبيقات دون قيود التقييم.
استنتاج
باختصار ، تعلمنا كيفية استخراج علامات البيانات الوصفية من ملفات MP3 في Java. واحدًا تلو الآخر ، نقرأ علامات ID3v1 و ID3v2 و Lyrics و APE وخصائصها من ملفات MP3. فكر في إنشاء محرر علامات MP3 وعارض البيانات الوصفية الخاص بك تمامًا مثل تطبيق البيانات الوصفية عبر الإنترنت.
تعرف على المزيد حول واجهة برمجة التطبيقات من الوثائق واتصل بنا للحصول على استفسارات عبر المنتدى.