Jaudiotagger是jid3lib的扩展,比jlid3lib强大更多,支持更多格式。
MP3信息的读取:
try { MP3File file = new MP3File("mmt/sdcard2/Music/大艺术家.mp3"); String songName=file.getID3v2Tag().frameMap.get("TIT2").toString(); String singer=file.getID3v2Tag().frameMap.get("TPE1").toString(); String author=file.getID3v2Tag().frameMap.get("TALB").toString(); System.out.println(new String(songName.getBytes("ISO-8859-1"),"GB2312")); System.out.println(new String(singer.getBytes("ISO-8859-1"),"GB2312")); System.out.println(new String(author.getBytes("ISO-8859-1"),"GB2312")); } catch (IOException e) { e.printStackTrace(); } catch (TagException e) { e.printStackTrace(); } catch (ReadOnlyFileException e) { e.printStackTrace(); } catch (InvalidAudioFrameException e) { e.printStackTrace(); }
这样输出的格式为:
Text="大艺术家";
Text="蔡依林";
Text="MUSE";
下面是用Jaudiotagger提取MP3图片,并将图片显示出来的代码:
import java.awt.Image; import java.awt.Toolkit; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException; import org.jaudiotagger.audio.exceptions.ReadOnlyFileException; import org.jaudiotagger.audio.mp3.MP3File; import org.jaudiotagger.tag.TagException; import org.jaudiotagger.tag.id3.AbstractID3v2Frame; import org.jaudiotagger.tag.id3.AbstractID3v2Tag; import org.jaudiotagger.tag.id3.framebody.FrameBodyAPIC; public class Main { public static void main(String args[]) throws IOException, TagException, ReadOnlyFileException, InvalidAudioFrameException { String url = "D:\\Paparazzi.mp3"; File sourceFile = new File(url); MP3File mp3file = new MP3File(sourceFile); AbstractID3v2Tag tag = mp3file.getID3v2Tag(); AbstractID3v2Frame frame = (AbstractID3v2Frame) tag.getFrame("APIC"); FrameBodyAPIC body = (FrameBodyAPIC) frame.getBody(); byte[] imageData = body.getImageData(); Image img=Toolkit.getDefaultToolkit().createImage(imageData, 0,imageData.length); System.out.println("img----" + imageData); ImageIcon icon = new ImageIcon(img); FileOutputStream fos = new FileOutputStream("D://test1.jpg"); fos.write(imageData); fos.close(); System.out.println("width:"+icon.getIconWidth()); System.out.println("height:"+icon.getIconHeight()); getImg(icon); } public static void getImg(ImageIcon img){ JFrame f = new JFrame(); JLabel l = new JLabel(); l.setIcon(img); l.setVisible(true); f.add(l); f.setSize(500, 500); f.setVisible(true); } }
关于jaudiotagger完成Flac音频文件metadata(元数据)的读和修改,参考:
http://www.cnblogs.com/once/p/3734755.html
相关推荐
使用jaudiotagger-2.0.4-20111207.115108-15.jar获取MP3详细信息
包含了常用到的几种二进制或文件读取方式,很齐全,可直接使用
使用TagExplorer查看一首MP3中的tag:可以发现大部分歌曲包含并且我们比较需要的信息只有歌名,专辑,歌手,时长,歌曲中内嵌的图片而已,下面给出读取的代码(测试支持flac,MP3,其他自测) 使用教程:...
java 按顺序读取文件 java 按顺序读取文件 java 按顺序读取文件
java 使用JNA读取ddl文件,亲测有效!
自己用java语言写的MP3音乐解析类,可以获取MP3格式音乐的详细信息。
借用一下,java读取mp3,flac,mp4等等的利器工具包。
Java应用程序读取图片内容.zip Java应用程序读取图片内容.zip Java应用程序读取图片内容.zip
java利用jxl.jar包读取excel文件
改程序实现了简单的java的文件读取以及写入的操作
Java 读取文件操作 java中多种方式读文件 一、多种方式读文件内容。 1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容
java 操作 dbf 读取 java 操作 dbf 读取 java 操作 dbf 读取 java 操作 dbf 读取 java 操作 dbf 读取
Java读取Excel内容 v Java读取Excel内容 Java读取Excel内容
java代码-使用java解决读取U盘信息的源代码 ——学习参考资料:仅用于个人学习使用!
可运行,能够分离声道
Java读取excel,Excel是我们平时工作中比较常用的用于存储二维表数据的,JAVA也可以直接对Excel进行操作。
java按行读取大容量文本文件,并按行解析入库。使用java.nio下面的相关方法
Java代码 用于进行txt读取 逐行读取后进行后续操作 入库
java Swing读取图片,并以友好的方式呈现个使用者
Java保存与读取文件代码示例,super("存储与读取对象"); //调用父类构造函数 Container container=getContentPane(); //得到容器 Icon imageIcon=new ImageIcon("image.gif"); //实例化一个图标 ...