FrameBodyLINKpublic class FrameBodyLINK extends AbstractID3v2FrameBody implements ID3v24FrameBody, ID3v23FrameBodyLinked information frame.
To keep space waste as low as possible this frame may be used to link
information from another ID3v2 tag that might reside in another audio
file or alone in a binary file. It is recommended that this method is
only used when the files are stored on a CD-ROM or other
circumstances when the risk of file seperation is low. The frame
contains a frame identifier, which is the frame that should be linked
into this tag, a URL field, where a reference to the file where
the frame is given, and additional ID data, if needed. Data should be
retrieved from the first tag found in the file to which this link
points. There may be more than one "LINK" frame in a tag, but only
one with the same contents. A linked frame is to be considered as
part of the tag and has the same restrictions as if it was a physical
part of the tag (i.e. only one "RVRB" frame allowed, whether it's
linked or not).
<Header for 'Linked information', ID: "LINK"> |
Frame identifier | $xx xx xx |
URL | <text string> $00 |
ID and additional data | <text string(s)> |
Frames that may be linked and need no additional data are "IPLS",
"MCID", "ETCO", "MLLT", "SYTC", "RVAD", "EQUA", "RVRB", "RBUF", the
text information frames and the URL link frames.
The "TXXX", "APIC", "GEOB" and "AENC" frames may be linked with
the content descriptor as additional ID data.
The "COMM", "SYLT" and "USLT" frames may be linked with three bytes
of language descriptor directly followed by a content descriptor as
additional ID data.
For more details, please refer to the ID3 specifications:
|
Constructors Summary |
---|
public FrameBodyLINK()Creates a new FrameBodyLINK datatype.
// this.setObject("Frame Identifier", "");
// this.setObject("URL", "");
// this.setObject("ID and Additional Data", "");
| public FrameBodyLINK(FrameBodyLINK body)
super(body);
| public FrameBodyLINK(String frameIdentifier, String url, String additionalData)Creates a new FrameBodyLINK datatype.
this.setObjectValue(DataTypes.OBJ_DESCRIPTION, frameIdentifier);
this.setObjectValue(DataTypes.OBJ_URL, url);
this.setObjectValue(DataTypes.OBJ_ID, additionalData);
| public FrameBodyLINK(ByteBuffer byteBuffer, int frameSize)Creates a new FrameBodyLINK datatype.
super(byteBuffer, frameSize);
|
Methods Summary |
---|
public java.lang.String | getAdditionalData()
return (String) getObjectValue(DataTypes.OBJ_ID);
| public void | getAdditionalData(java.lang.String additionalData)
setObjectValue(DataTypes.OBJ_ID, additionalData);
| public java.lang.String | getFrameIdentifier()
return (String) getObjectValue(DataTypes.OBJ_DESCRIPTION);
| public void | getFrameIdentifier(java.lang.String frameIdentifier)
setObjectValue(DataTypes.OBJ_DESCRIPTION, frameIdentifier);
| public java.lang.String | getIdentifier()The ID3v2 frame identifier
return ID3v24Frames.FRAME_ID_LINKED_INFO;
| protected void | setupObjectList()
objectList.add(new StringFixedLength(DataTypes.OBJ_DESCRIPTION, this, 4));
objectList.add(new StringNullTerminated(DataTypes.OBJ_URL, this));
objectList.add(new StringSizeTerminated(DataTypes.OBJ_ID, this));
|
|