分享

Java读MP3 文件的头信息(ID3V1) — JAVA频道...

 fantongx 2006-06-05
Java读MP3 文件的头信息(ID3V1)
作者:linminghao 发文时间:2006.04.07 来源:网易部落
【Java专区】  【安全专区】  【网管专区】  【linux专区】  【进入论坛】  【IT博客】 

 **//**
 * Created on 2005-8-6 5:10:29
 * @author 糊涂鬼
 */
public class ReadMp3ID3v1Info {
  private static final int TAG_SIZE = 128;
  private static final int TITLE_SIZE = 30;
  private static final int ARTIST_SIZE = 30;
  private static final int ALBUM_SIZE = 30;
  private static final int YEAR_SIZE = 4;
  private static final int COMMENT_SIZE = 29;
  private static final int TRACK_LOCATION = 126;
  private static final int GENRE_LOCATION = 127;
  private static final int MAX_GENRE = 255;
  private static final int MAX_TRACK = 255;
  private static final String ENC_TYPE = "Cp437";
  private static final String TAG_START = "TAG";
  
  public static void main(String[] args){
    try {
      File mp3 = new File("F:/音乐/MP3/英文女歌手/Madonna - Music.mp3");
      RandomAccessFile raf = new RandomAccessFile( mp3, "r" );
      raf.seek(raf.length() - TAG_SIZE);
      byte[] buf = new byte[TAG_SIZE];
      raf.read(buf, 0, TAG_SIZE);
      String tag = new String(buf, 0, TAG_SIZE, "Cp437");
      int start = TAG_START.length();
      System.out.println("文件名: " + mp3.getName());
      System.out.println("标题 : " + tag.substring(start, start += TITLE_SIZE).trim());
      System.out.println("艺术家: " + tag.substring(start, start += ARTIST_SIZE).trim());
      raf.close();
      
      System.out.println("====================================");

      File mp32 = new File("F:/音乐/MP3/英文组合/blue - you make me wanna.mp3");
      raf = new RandomAccessFile( mp32, "r" );
      raf.seek(raf.length() - 128);
      raf.read(buf, 0, 128);
      tag = new String(buf, 0, 128, "Cp437");
      start = TAG_START.length();
      System.out.println("文件名: " + mp32.getName());
      System.out.println("标题 : " + tag.substring(start, start += 30).trim());
      System.out.println("艺术家: " + tag.substring(start, start += 30).trim());
      raf.close();
    } catch (Exception e) {
    }
  }
}

 

/**//**
 * Created on 2005-8-6 5:10:29
 * @author 糊涂鬼
 */
public class ReadMp3ID3v1Info {
  private static final int TAG_SIZE = 128;
  private static final int TITLE_SIZE = 30;
  private static final int ARTIST_SIZE = 30;
  private static final int ALBUM_SIZE = 30;
  private static final int YEAR_SIZE = 4;
  private static final int COMMENT_SIZE = 29;
  private static final int TRACK_LOCATION = 126;
  private static final int GENRE_LOCATION = 127;
  private static final int MAX_GENRE = 255;
  private static final int MAX_TRACK = 255;
  private static final String ENC_TYPE = "Cp437";
  private static final String TAG_START = "TAG";
  
  public static void main(String[] args){
    try {
      File mp3 = new File("F:/音乐/MP3/英文女歌手/Madonna - Music.mp3");
      RandomAccessFile raf = new RandomAccessFile( mp3, "r" );
      raf.seek(raf.length() - TAG_SIZE);
      byte[] buf = new byte[TAG_SIZE];
      raf.read(buf, 0, TAG_SIZE);
      String tag = new String(buf, 0, TAG_SIZE, "Cp437");
      int start = TAG_START.length();
      System.out.println("文件名: " + mp3.getName());
      System.out.println("标题 : " + tag.substring(start, start += TITLE_SIZE).trim());
      System.out.println("艺术家: " + tag.substring(start, start += ARTIST_SIZE).trim());
      raf.close();
      
      System.out.println("====================================");

      File mp32 = new File("F:/音乐/MP3/英文组合/blue - you make me wanna.mp3");
      raf = new RandomAccessFile( mp32, "r" );
      raf.seek(raf.length() - 128);
      raf.read(buf, 0, 128);
      tag = new String(buf, 0, 128, "Cp437");
      start = TAG_START.length();
      System.out.println("文件名: " + mp32.getName());
      System.out.println("标题 : " + tag.substring(start, start += 30).trim());
      System.out.println("艺术家: " + tag.substring(start, start += 30).trim());
      raf.close();
    } catch (Exception e) {
    }
  }
}

 

运行的结果是:
文件名:  Madonna - Music.mp3
标题  : Music
艺术家: Madonna
====================================
文件名:  blue - you make me wanna.mp3
标题  : U Make Me Wanna
艺术家: Blue

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多