Varianty metadat jsou připojeny k dokumentům různých formátů souborů. Soubory MP3 běžně obsahují značky metadat ID3. Tento článek pojednává o tom, jak číst různé značky MP3 v Java. Jeden po druhém uvidíme, jak extrahovat tagy metadat ID3 (IDEv1, ID3v2), Lyrics a APEv2 ze souborů mp3 pomocí Java Metadata API.
Níže jsou uvedena následující témata:
- Java API pro správu značek MP3
- Přečtěte si MP3 ID3 Tagy - ID3v1 a ID3v2
- Získejte značky s texty MP3
- Načíst značky MP3 APEv2
Java API pro značky metadat MP3
GroupDocs.Metadata je vybavena rozhraními API pro automatizaci správy metadat [různých formátů souborů](https://docs.groupdocs.com/metadata/net/supported-document -formáty/) v rámci aplikací. Jeho Java API vám umožňuje číst, aktualizovat, přidávat, čistit a odstraňovat metadata pro mnoho formátů souborů v rámci aplikace Java. Použijeme jej pro práci s tagy metadat MP3.
Stáhnout a nakonfigurovat
Získejte knihovnu metadat ze sekce ke stažení. Pro vaši Java aplikaci založenou na Maven stačí přidat následující konfiguraci pom.xml. Poté si můžete vyzkoušet příklady z tohoto článku a také mnoho dalších příkladů dostupných na GitHubu. Podrobnosti najdete na API Reference.
<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>
Přečtěte si MP3 ID3 Tagy v Java - ID3v1 a ID3v2
Následující kroky ukazují, jak číst tagy MP3 ID3v1 pomocí Java.
- Načtěte soubor MP3 pomocí třídy Metadata.
- Načtěte MP3RootPackage pomocí metody getRootPackageGeneric().
- Z kořenového balíčku načtěte každou z vlastností ID3v1.
Následující zdrojový kód Java čte některé značky MP3 ID3v1 souboru MP3.
// Přečtěte si tagy ID3V1 souboru 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());
// ...
}
}
Tagy ID3v2 můžete extrahovat podobným způsobem. Následující kroky ukazují, jak načíst MP3 ID3v2 tagy v Java.
- Načtěte soubor MP3 pomocí třídy Metadata.
- Získejte kořenový balíček.
- Z kořene můžete snadno načíst všechny značky ID3v2, jako je umělec, skladatelé, vydavatel, název atd.
- Podrobnosti o připojených obrázcích lze získat z vlastností Attached Picture Frames.
Následující příklad zdrojového kódu Java čte některé značky MP3 ID3v2 a připojené obrázky podrobností souboru MP3.
// Přečtěte si tagy ID3V2 souboru 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());
}
}
}
}
Přečtěte si značky MP3 Lyrics v Java
Následující kroky vedou, jak číst značky MP3 Lyrics v Java.
- Načtěte soubor MP3 pomocí třídy Metadata.
- Načtěte kořenový balíček.
- Z kořene můžete získat značky textů a jejich vlastnosti, jako je text, interpret, skladba atd.
Následující fragment kódu Java načítá značky MP3 textů a některé vlastnosti ze souboru MP3.
// Číst značky textů souborů 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());
// ...
// Podobně můžete procházet pole tagů
for (LyricsField field : root.getLyrics3V2().toList()) {
System.out.println(String.format("%s = %s", field.getID(), field.getData()));
}
}
}
Přečtěte si MP3 APEv2 Tagy v Java
Následující kroky ukazují, jak můžeme extrahovat značky MP3 APEv2 v aplikaci Java.
- Načtěte soubor MP3 pomocí třídy Metadata.
- Načtěte kořenový balíček pomocí metody getRootPackageGeneric().
- Z kořene můžete načíst značky APEv2, jako je album, žánr, autorská práva, jazyk atd.
Následující příklady kódu Java čtou některé vlastnosti MP3 APE tagů souboru MP3.
// Čtení značek APE souborů 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());
// ...
}
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci k používání API bez omezení hodnocení.
Závěr
Abych to shrnul, naučili jsme se, jak extrahovat značky metadat ze souborů MP3 v Java. Jeden po druhém čteme značky ID3v1, ID3v2, Lyrics a APE a jejich vlastnosti ze souborů MP3. Přemýšlejte o vytvoření vlastního online editoru značek MP3 a prohlížeče metadat, jako je Online Metadata App.
Další informace o rozhraní API naleznete v dokumentaci a v případě dotazů nás kontaktujte prostřednictvím fóra.