public class FrameBodyCHAP extends AbstractID3v2FrameBody implements ID3v2ChapterFrameBody, ID3v24FrameBody, ID3v23FrameBody
<ID3v2.3 or ID3v2.4 frame header, ID: "CHAP"> | (10 bytes) | |
Element ID | <text string> $00 | |
Start time | $xx xx xx xx | |
End time | $xx xx xx xx | |
Start offset | $xx xx xx xx | |
End offset | $xx xx xx xx | |
<Optional embedded sub-frames> |
The Element ID uniquely identifies the frame. It is not intended to be human readable and should not be presented to the end user.
The Start and End times are a count in milliseconds from the beginning of the file to the start and end of the chapter respectively.
The Start offset is a zero-based count of bytes from the beginning of the file to the first byte of the first audio frame in the chapter. If these bytes are all set to 0xFF then the value should be ignored and the start time value should be utilized.
The End offset is a zero-based count of bytes from the beginning of the file to the first byte of the audio frame following the end of the chapter. If these bytes are all set to 0xFF then the value should be ignored and the end time value should be utilized.
There then follows a sequence of optional frames that are embedded within the "CHAP" frame and which describe the content of the chapter (e.g. a "TIT2" frame representing the chapter name) or provide related material such as URLs and images. These sub-frames are contained within the bounds of the "CHAP" frame as signalled by the size field in the "CHAP" frame header. If a parser does not recognise "CHAP" frames it can skip them using the size field in the frame header. When it does this it will skip any embedded sub-frames carried within the frame.
For more details, please refer to the ID3 Chapter Frame specifications:
TYPE_BODY
objectList
logger
Constructor and Description |
---|
FrameBodyCHAP()
Creates a new FrameBodyCHAP datatype.
|
FrameBodyCHAP(ByteBuffer byteBuffer,
int frameSize)
Creates a new FrameBodyAENC datatype.
|
FrameBodyCHAP(FrameBodyCHAP body)
Creates a new FrameBodyCHAP datatype.
|
FrameBodyCHAP(String elementId,
int startTime,
int endTime,
int startOffset,
int endOffset)
Creates a new FrameBodyCHAP datatype.
|
Modifier and Type | Method and Description |
---|---|
String |
getIdentifier()
The ID3v2 frame identifier
|
protected void |
setupObjectList()
Create the list of Datatypes that this body
expects in the correct order This method needs to be implemented by concrete subclasses
|
createStructure, equals, getSize, read, setSize, setSize, write
getBriefDescription, getHeader, getLongDescription, getObject, getObjectValue, getTextEncoding, getUserFriendlyValue, isSubsetOf, iterator, setHeader, setObjectValue, setTextEncoding, toString
public FrameBodyCHAP()
public FrameBodyCHAP(FrameBodyCHAP body)
body
- public FrameBodyCHAP(String elementId, int startTime, int endTime, int startOffset, int endOffset)
elementId
- startTime
- endTime
- startOffset
- endOffset
- public FrameBodyCHAP(ByteBuffer byteBuffer, int frameSize) throws InvalidTagException
byteBuffer
- frameSize
- InvalidTagException
- if unable to create framebody from bufferpublic String getIdentifier()
getIdentifier
in class AbstractID3v2FrameBody
protected void setupObjectList()
AbstractTagFrameBody
setupObjectList
in class AbstractTagFrameBody
Copyright © 2005–2020 jthink.net. All rights reserved.