`

Java使用Jaudiotagger读取Mp3及Flac音频操作

    博客分类:
  • java
 
阅读更多

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

0
1
分享到:
评论

相关推荐

    java获取MP3详细信息

    本文将详细介绍如何使用jaudiotagger库,这是一个强大的Java库,专门用于处理音频文件的元数据,特别是MP3文件的元数据。我们将深入探讨jaudiotagger-2.0.4-20111207.115108-15.jar这个特定版本的使用方法,以及如何...

    jaudiotagger音频元数据

    jaudiotagger提供了丰富的功能,帮助开发者读取、修改和保存这些元数据,支持多种常见的音频格式,如MP3、FLAC、AAC等。 1. **元数据类型** - **ID3标签**: ID3是最早的音频文件元数据标准,主要应用于MP3文件。...

    jaudiotagger

    例如,以下代码示例展示了如何用jaudiotagger读取MP3的ID3标签: ```java import org.jaudiotagger.audio.AudioFile; import org.jaudiotagger.audio.AudioFileIO; import org.jaudiotagger.tag.Tag; public class...

    jaudiotagger-2.2.3.jar最近写音乐播放器,但是一直不知道怎么获取音频中的tag信息,最后通过第三方库jau

    使用TagExplorer查看一首MP3中的tag:可以发现大部分歌曲包含并且我们比较需要的信息只有歌名,专辑,歌手,时长,歌曲中内嵌的图片而已,下面给出读取的代码(测试支持flac,MP3,其他自测) 使用教程:...

    jaudiotagger-2.2.6-SNAPSHOT.zip

    总之,jaudiotagger作为一款高效且灵活的音频元数据处理工具,为开发者提供了强大且易用的API,能够满足从简单的音频信息读取到复杂的元数据编辑的各种需求。无论是个人项目还是商业应用,jaudiotagger都值得信赖并...

    用java获取mp3文件播放时长和tag信息

    JauidoTagger是一个强大的Java库,专门用于读取和编辑音频文件的ID3标签和元数据,包括MP3、AAC、FLAC等多种格式。 1. **安装JauidoTagger** - 下载JauidoTagger的JAR文件,将其添加到项目的类路径中。 - 或者,...

    提取MP3封面文件并循环显示

    首先,`jaudiotagger-2.0.3.jar`是一个Java库,用于读取和编辑音频文件的元数据,包括MP3标签。JaudioTagger库提供了方便的API,可以轻松地处理MP3文件的各种信息,如ID3v1和ID3v2标签,以及AAC和FLAC等其他音频格式...

    音乐相关的jar

    使用jaudiotagger.jar可以处理音频文件的元数据,audio.jar和sound.jar可以帮助处理音频流和播放控制,jl.jar或jl1.0.1.jar则提供了MP3解码功能,而jmf.jar则可以支持更复杂的多媒体操作。将它们整合到项目中,可以...

    mp3信息模块.rar

    在本文中,我们将深入探讨MP3信息模块的相关知识点,包括MP3格式的基本概念、信息模块的功能、常见的信息读取工具以及如何通过编程接口(API)获取和操作这些信息。 首先,让我们了解MP3的背景。MP3是一种有损音频...

    编译和使用说明文档1

    jaudiotagger-2.0.3是一个关键的第三方库,它扩展了jid3lib,提供了对多种音频格式的强大支持,包括MP3和FLAC。通过这个库,我们可以获取音频文件的详细信息,如采样率、制作格式、艺术家、专辑名、音轨号等。...

    Looppool:允许用户将音频文件连接在一起的 Java 应用程序

    用户可以导入多种格式的音频文件,如MP3、WAV、FLAC等,然后通过简单的拖放操作,将这些音频片段按照自己的意愿进行排列组合。此外,Looppool还提供了音量调整、剪切、复制、粘贴等基本编辑功能,使得音频制作过程...

    m4a metadata

    - **编程库:**多种编程语言如Python(eyeD3或mutagen库)、Java(JAudioTagger库)、C#(NAudio库)等都提供了读取m4a元数据的接口。 - **图形界面应用:**如iTunes、VLC媒体播放器、MediaMonkey等不仅能够播放m4a...

    Automatizacion_Directorios:该JAVA应用程序递归遍历给定基本目录的目录。 该目录中的目录被视为专辑,并从中获得诸如艺术家,专辑,流派等音频文件的基本信息,并将其插入数据库中。 它还按相册关联图像,并选择封面图像

    这些库能处理多种常见的音频格式,如MP3、AAC、FLAC等,提取出艺术家、专辑、流派、歌曲名等信息。提取到的数据随后会被整理并插入到数据库中,便于后续的查询和管理。数据库可能是关系型的,如MySQL、PostgreSQL,...

    电信设备-一种获取音乐文件信息的方法及装置.zip

    通过编程接口(API)或库,如Python的Mutagen或Java的Jaudiotagger,可以直接读取并解析这些标签。 2. **网络查询**:如果本地文件信息不完整,可以通过在线服务查询。例如,使用音乐识别服务如Gracenote或...

Global site tag (gtag.js) - Google Analytics