انواع متادیتا با اسنادی با فرمت های مختلف فایل پیوست شده اند. فایلهای MP3 معمولاً حاوی برچسبهای فراداده ID3 هستند. این مقاله نحوه خواندن تگ های MP3 مختلف در Java را مورد بحث قرار می دهد. یکی یکی خواهیم دید که چگونه با استفاده از Java Metadata API تگ های متادیتا ID3 (IDEv1، ID3v2)، Lyrics و APEv2 را از فایل های mp3 استخراج کنیم.
موضوعات زیر در زیر پوشش داده شده است:
- Java API برای مدیریت برچسب های MP3
- برچسب های MP3 ID3 - ID3v1 & ID3v2 را بخوانید
- برچسب های متن ترانه MP3 را دریافت کنید
- بازیابی برچسب های MP3 APEv2
Java API برای برچسب های فراداده MP3
GroupDocs.Metadata مجهز به APIهایی برای خودکارسازی مدیریت ابرداده فرمت های مختلف فایل است. -فرمت ها/) در برنامه های کاربردی. Java API این امکان را به شما می دهد تا فراداده های بسیاری از فرمت های فایل را در برنامه Java بخوانید، به روز کنید، اضافه کنید، پاک کنید و حذف کنید. ما از آن برای کار با تگ های فراداده MP3 استفاده خواهیم کرد.
دانلود و پیکربندی کنید
کتابخانه فراداده را از بخش دانلودها دریافت کنید. برای برنامه Java مبتنی بر Maven خود، فقط پیکربندی pom.xml زیر را اضافه کنید. پس از این، می توانید نمونه های این مقاله و همچنین نمونه های بسیار دیگری را که در GitHub موجود است، امتحان کنید. برای جزئیات، می توانید از مرجع API دیدن کنید.
<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 را با استفاده از کلاس Metadata بارگیری کنید.
- MP3RootPackage را با استفاده از روش getRootPackageGeneric() بازیابی کنید.
- از بسته ریشه، هر یک از ویژگی های ID3v1 را بازیابی کنید.
کد منبع Java زیر برخی از برچسب های MP3 ID3v1 فایل MP3 را می خواند.
// برچسب های ID3V1 فایل MP3 را بخوانید
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 را با استفاده از کلاس Metadata بارگیری کنید.
- بسته ریشه را دریافت کنید.
- از ریشه، می توانید به راحتی تمام برچسب های ID3v2 مانند Artist، Composers، Publisher، Title و غیره را بازیابی کنید.
- جزئیات تصاویر پیوست شده را میتوان از ویژگیهای قابهای تصویر پیوست شده بازیابی کرد.
نمونه کد منبع Java زیر برخی از برچسب های MP3 ID3v2 و جزئیات تصاویر پیوست فایل MP3 را می خواند.
// برچسب های ID3V2 فایل MP3 را بخوانید
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 را با استفاده از کلاس Metadata بارگیری کنید.
- بسته ریشه را بازیابی کنید.
- از ریشه، می توانید برچسب های اشعار و ویژگی های آن مانند Lyrics، هنرمند، آهنگ و غیره را دریافت کنید.
قطعه کد 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 را با استفاده از کلاس Metadata بارگیری کنید.
- بسته ریشه را با استفاده از روش getRootPackageGeneric() بازیابی کنید.
- از ریشه، می توانید برچسب های APEv2 مانند آلبوم، ژانر، حق چاپ، زبان و غیره را بازیابی کنید.
نمونه های کد Java زیر برخی از ویژگی های برچسب های MP3 APE یک فایل MP3 را می خوانند.
// برچسب های APE فایل MP3 را بخوانید
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 رایگان دریافت کنید
میتوانید برای استفاده از API بدون محدودیت ارزیابی، یک مجوز موقت رایگان دریافت کنید.
نتیجه
به طور خلاصه، ما یاد گرفتیم که چگونه تگ های فراداده را از فایل های MP3 در Java استخراج کنیم. تگ های ID3v1، ID3v2، Lyrics و APE و ویژگی های آن ها را یکی یکی از فایل های MP3 می خوانیم. درست مانند برنامه فراداده آنلاین به ایجاد ویرایشگر برچسب آنلاین MP3 و نمایشگر فراداده خود فکر کنید.
درباره API از documentation بیشتر بیاموزید و برای سؤالات از طریق forum با ما تماس بگیرید.