📄 id3v23frames.java
字号:
/*
* Jaudiotagger Copyright (C)2004,2005
*
* This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser
* General Public License as published by the Free Software Foundation; either version 2.1 of the License,
* or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this library; if not,
* you can get a copy from http://www.opensource.org/licenses/lgpl-license.php or write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package com.hadeslee.audiotag.tag.id3;
import com.hadeslee.audiotag.tag.TagFieldKey;
import java.util.EnumMap;
/**
* Defines ID3v23 frames and collections that categorise frames within an ID3v23 tag.
*
* You can include frames here that are not officially supported as long as they can be used within an
* ID3v23Tag
*
* @author Paul Taylor
* @version $Id: ID3v23Frames.java,v 1.10 2007/11/13 14:24:31 paultaylor Exp $
*/
public class ID3v23Frames extends ID3Frames
{
/**
* Define all frames that are valid within ID3v23
* Frame IDs begining with T are text frames, & with W are url frames
*/
public static final String FRAME_ID_V3_ACCOMPANIMENT = "TPE2";
public static final String FRAME_ID_V3_ALBUM = "TALB";
public static final String FRAME_ID_V3_ARTIST = "TPE1";
public static final String FRAME_ID_V3_ATTACHED_PICTURE = "APIC";
public static final String FRAME_ID_V3_AUDIO_ENCRYPTION = "AENC";
public static final String FRAME_ID_V3_BPM = "TBPM";
public static final String FRAME_ID_V3_COMMENT = "COMM";
public static final String FRAME_ID_V3_COMMERCIAL_FRAME = "COMR";
public static final String FRAME_ID_V3_COMPOSER = "TCOM";
public static final String FRAME_ID_V3_CONDUCTOR = "TPE3";
public static final String FRAME_ID_V3_CONTENT_GROUP_DESC = "TIT1";
public static final String FRAME_ID_V3_COPYRIGHTINFO = "TCOP";
public static final String FRAME_ID_V3_ENCODEDBY = "TENC";
public static final String FRAME_ID_V3_ENCRYPTION = "ENCR";
public static final String FRAME_ID_V3_EQUALISATION = "EQUA";
public static final String FRAME_ID_V3_EVENT_TIMING_CODES = "ETCO";
public static final String FRAME_ID_V3_FILE_OWNER = "TOWN";
public static final String FRAME_ID_V3_FILE_TYPE = "TFLT";
public static final String FRAME_ID_V3_GENERAL_ENCAPS_OBJECT = "GEOB";
public static final String FRAME_ID_V3_GENRE = "TCON";
public static final String FRAME_ID_V3_GROUP_ID_REG = "GRID";
public static final String FRAME_ID_V3_HW_SW_SETTINGS = "TSSE";
public static final String FRAME_ID_V3_INITIAL_KEY = "TKEY";
public static final String FRAME_ID_V3_IPLS = "IPLS";
public static final String FRAME_ID_V3_ISRC = "TSRC";
public static final String FRAME_ID_V3_LANGUAGE = "TLAN";
public static final String FRAME_ID_V3_LENGTH = "TLEN";
public static final String FRAME_ID_V3_LINKED_INFO = "LINK";
public static final String FRAME_ID_V3_LYRICIST = "TEXT";
public static final String FRAME_ID_V3_MEDIA_TYPE = "TMED";
public static final String FRAME_ID_V3_MPEG_LOCATION_LOOKUP_TABLE = "MLLT";
public static final String FRAME_ID_V3_MUSIC_CD_ID = "MCDI";
public static final String FRAME_ID_V3_ORIGARTIST = "TOPE";
public static final String FRAME_ID_V3_ORIG_FILENAME = "TOFN";
public static final String FRAME_ID_V3_ORIG_LYRICIST = "TOLY";
public static final String FRAME_ID_V3_ORIG_TITLE = "TOAL";
public static final String FRAME_ID_V3_OWNERSHIP = "OWNE";
public static final String FRAME_ID_V3_PLAYLIST_DELAY = "TDLY";
public static final String FRAME_ID_V3_PLAY_COUNTER = "PCNT";
public static final String FRAME_ID_V3_POPULARIMETER = "POPM";
public static final String FRAME_ID_V3_POSITION_SYNC = "POSS";
public static final String FRAME_ID_V3_PRIVATE = "PRIV";
public static final String FRAME_ID_V3_PUBLISHER = "TPUB";
public static final String FRAME_ID_V3_RADIO_NAME = "TRSN";
public static final String FRAME_ID_V3_RADIO_OWNER = "TRSO";
public static final String FRAME_ID_V3_RECOMMENDED_BUFFER_SIZE = "RBUF";
public static final String FRAME_ID_V3_RELATIVE_VOLUME_ADJUSTMENT = "RVAD";
public static final String FRAME_ID_V3_REMIXED = "TPE4";
public static final String FRAME_ID_V3_REVERB = "RVRB";
public static final String FRAME_ID_V3_SET = "TPOS";
public static final String FRAME_ID_V3_SYNC_LYRIC = "SYLT";
public static final String FRAME_ID_V3_SYNC_TEMPO = "SYTC";
public static final String FRAME_ID_V3_TDAT = "TDAT";
public static final String FRAME_ID_V3_TERMS_OF_USE = "USER";
public static final String FRAME_ID_V3_TIME = "TIME";
public static final String FRAME_ID_V3_TITLE = "TIT2";
public static final String FRAME_ID_V3_TITLE_REFINEMENT = "TIT3";
public static final String FRAME_ID_V3_TORY = "TORY";
public static final String FRAME_ID_V3_TRACK = "TRCK";
public static final String FRAME_ID_V3_TRDA = "TRDA";
public static final String FRAME_ID_V3_TSIZ = "TSIZ";
public static final String FRAME_ID_V3_TYER = "TYER";
public static final String FRAME_ID_V3_UNIQUE_FILE_ID = "UFID";
public static final String FRAME_ID_V3_UNSYNC_LYRICS = "USLT";
public static final String FRAME_ID_V3_URL_ARTIST_WEB = "WOAR";
public static final String FRAME_ID_V3_URL_COMMERCIAL = "WCOM";
public static final String FRAME_ID_V3_URL_COPYRIGHT = "WCOP";
public static final String FRAME_ID_V3_URL_FILE_WEB = "WOAF";
public static final String FRAME_ID_V3_URL_OFFICIAL_RADIO = "WORS";
public static final String FRAME_ID_V3_URL_PAYMENT = "WPAY";
public static final String FRAME_ID_V3_URL_PUBLISHERS = "WPUB";
public static final String FRAME_ID_V3_URL_SOURCE_WEB = "WOAS";
public static final String FRAME_ID_V3_USER_DEFINED_INFO = "TXXX";
public static final String FRAME_ID_V3_USER_DEFINED_URL = "WXXX";
public static final String FRAME_ID_V3_IS_COMPILATION = "TCMP";
public static final String FRAME_ID_V3_TITLE_SORT_ORDER_ITUNES = "TSOT";
public static final String FRAME_ID_V3_ARTIST_SORT_ORDER_ITUNES = "TSOP";
public static final String FRAME_ID_V3_ALBUM_SORT_ORDER_ITUNES = "TSOA";
public static final String FRAME_ID_V3_TITLE_SORT_ORDER_MUSICBRAINZ = "XSOT";
public static final String FRAME_ID_V3_ARTIST_SORT_ORDER_MUSICBRAINZ = "XSOP";
public static final String FRAME_ID_V3_ALBUM_SORT_ORDER_MUSICBRAINZ = "XSOA";
public static final String FRAME_ID_V3_ALBUM_ARTIST_SORT_ORDER_ITUNES = "TSO2";
public static final String FRAME_ID_V3_COMPOSER_SORT_ORDER_ITUNES = "TSOC";
private static ID3v23Frames id3v23Frames;
/**
* Maps from Generic key to ID3 key
*/
protected EnumMap<TagFieldKey, ID3v23FieldKey> tagFieldToId3 = new EnumMap<TagFieldKey,ID3v23FieldKey>(TagFieldKey.class);
public static ID3v23Frames getInstanceOf()
{
if (id3v23Frames == null)
{
id3v23Frames = new ID3v23Frames();
}
return id3v23Frames;
}
private ID3v23Frames()
{
// The defined v23 frames,
supportedFrames.add(FRAME_ID_V3_ACCOMPANIMENT);
supportedFrames.add(FRAME_ID_V3_ALBUM);
supportedFrames.add(FRAME_ID_V3_ARTIST);
supportedFrames.add(FRAME_ID_V3_ATTACHED_PICTURE);
supportedFrames.add(FRAME_ID_V3_AUDIO_ENCRYPTION);
supportedFrames.add(FRAME_ID_V3_BPM);
supportedFrames.add(FRAME_ID_V3_COMMENT);
supportedFrames.add(FRAME_ID_V3_COMMERCIAL_FRAME);
supportedFrames.add(FRAME_ID_V3_COMPOSER);
supportedFrames.add(FRAME_ID_V3_CONDUCTOR);
supportedFrames.add(FRAME_ID_V3_CONTENT_GROUP_DESC);
supportedFrames.add(FRAME_ID_V3_COPYRIGHTINFO);
supportedFrames.add(FRAME_ID_V3_ENCODEDBY);
supportedFrames.add(FRAME_ID_V3_ENCRYPTION);
supportedFrames.add(FRAME_ID_V3_EQUALISATION);
supportedFrames.add(FRAME_ID_V3_EVENT_TIMING_CODES);
supportedFrames.add(FRAME_ID_V3_FILE_OWNER);
supportedFrames.add(FRAME_ID_V3_FILE_TYPE);
supportedFrames.add(FRAME_ID_V3_GENERAL_ENCAPS_OBJECT);
supportedFrames.add(FRAME_ID_V3_GENRE);
supportedFrames.add(FRAME_ID_V3_GROUP_ID_REG );
supportedFrames.add(FRAME_ID_V3_HW_SW_SETTINGS);
supportedFrames.add(FRAME_ID_V3_INITIAL_KEY);
supportedFrames.add(FRAME_ID_V3_IPLS);
supportedFrames.add(FRAME_ID_V3_ISRC);
supportedFrames.add(FRAME_ID_V3_LANGUAGE);
supportedFrames.add(FRAME_ID_V3_LENGTH);
supportedFrames.add(FRAME_ID_V3_LINKED_INFO);
supportedFrames.add(FRAME_ID_V3_LYRICIST);
supportedFrames.add(FRAME_ID_V3_MEDIA_TYPE);
supportedFrames.add(FRAME_ID_V3_MPEG_LOCATION_LOOKUP_TABLE);
supportedFrames.add(FRAME_ID_V3_MUSIC_CD_ID);
supportedFrames.add(FRAME_ID_V3_ORIGARTIST);
supportedFrames.add(FRAME_ID_V3_ORIG_FILENAME);
supportedFrames.add(FRAME_ID_V3_ORIG_LYRICIST);
supportedFrames.add(FRAME_ID_V3_ORIG_TITLE);
supportedFrames.add(FRAME_ID_V3_OWNERSHIP);
supportedFrames.add(FRAME_ID_V3_PLAYLIST_DELAY);
supportedFrames.add(FRAME_ID_V3_PLAY_COUNTER);
supportedFrames.add(FRAME_ID_V3_POPULARIMETER);
supportedFrames.add(FRAME_ID_V3_POSITION_SYNC);
supportedFrames.add(FRAME_ID_V3_PRIVATE);
supportedFrames.add(FRAME_ID_V3_PUBLISHER);
supportedFrames.add(FRAME_ID_V3_RADIO_NAME);
supportedFrames.add(FRAME_ID_V3_RADIO_OWNER );
supportedFrames.add(FRAME_ID_V3_RECOMMENDED_BUFFER_SIZE);
supportedFrames.add(FRAME_ID_V3_RELATIVE_VOLUME_ADJUSTMENT);
supportedFrames.add(FRAME_ID_V3_REMIXED);
supportedFrames.add(FRAME_ID_V3_REVERB);
supportedFrames.add(FRAME_ID_V3_SET);
supportedFrames.add(FRAME_ID_V3_SYNC_LYRIC);
supportedFrames.add(FRAME_ID_V3_SYNC_TEMPO);
supportedFrames.add(FRAME_ID_V3_TDAT);
supportedFrames.add(FRAME_ID_V3_TERMS_OF_USE);
supportedFrames.add(FRAME_ID_V3_TIME);
supportedFrames.add(FRAME_ID_V3_TITLE);
supportedFrames.add(FRAME_ID_V3_TITLE_REFINEMENT);
supportedFrames.add(FRAME_ID_V3_TORY);
supportedFrames.add(FRAME_ID_V3_TRACK);
supportedFrames.add(FRAME_ID_V3_TRDA);
supportedFrames.add(FRAME_ID_V3_TSIZ);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -