public class FrameBodyETCO extends AbstractID3v2FrameBody implements ID3v24FrameBody, ID3v23FrameBody
<Header for 'Event timing codes', ID: "ETCO"> | |
Time stamp format | $xx |
Where time stamp format is:
$01 Absolute time, 32 bit sized, using MPEG frames as unit
$02 Absolute time, 32 bit sized, using milliseconds as unit
Abolute time means that every stamp contains the time from the beginning of the file.
Followed by a list of key events in the following format:
Type of event | $xx |
Time stamp | $xx (xx ...) |
The 'Time stamp' is set to zero if directly at the beginning of the sound or after the previous event. All events should be sorted in chronological order. The type of event is as follows:
$00 | padding (has no meaning) |
$01 | end of initial silence |
$02 | intro start |
$03 | mainpart start |
$04 | outro start |
$05 | outro end |
$06 | verse start |
$07 | refrain start |
$08 | interlude start |
$09 | theme start |
$0A | variation start |
$0B | key change |
$0C | time change |
$0D | momentary unwanted noise (Snap, Crackle & Pop) |
$0E | sustained noise |
$0F | sustained noise end |
$10 | intro end |
$11 | mainpart end |
$12 | verse end |
$13 | refrain end |
$14 | theme end |
$15-$DF | reserved for future use |
$E0-$EF | not predefined sync 0-F |
$F0-$FC | reserved for future use |
$FD | audio end (start of silence) |
$FE | audio file ends |
$FF | one more byte of events follows (all the following bytes with the value $FF have the same function) |
Terminating the start events such as "intro start" is not required. The 'Not predefined sync's ($E0-EF) are for user events. You might want to synchronise your music to something, like setting of an explosion on-stage, turning on your screensaver etc.
There may only be one "ETCO" frame in each tag.
For more details, please refer to the ID3 specifications:
TYPE_BODY
objectList
logger
Constructor and Description |
---|
FrameBodyETCO()
Creates a new FrameBodyETCO datatype.
|
FrameBodyETCO(java.nio.ByteBuffer byteBuffer,
int frameSize)
Creates a new FrameBodyETCO datatype.
|
FrameBodyETCO(FrameBodyETCO body) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getIdentifier()
Return the ID3v2 Frame Identifier, must be implemented by concrete subclasses
|
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 FrameBodyETCO()
public FrameBodyETCO(FrameBodyETCO body)
public FrameBodyETCO(java.nio.ByteBuffer byteBuffer, int frameSize) throws InvalidTagException
byteBuffer
- frameSize
- InvalidTagException
- if unable to create framebody from bufferpublic java.lang.String getIdentifier()
AbstractID3v2FrameBody
getIdentifier
in class AbstractID3v2FrameBody
protected void setupObjectList()
AbstractTagFrameBody
setupObjectList
in class AbstractTagFrameBody
Copyright © 2005-2013 java.net. All Rights Reserved.