public class ID3v23FrameBodySynchronizedTempoCodes extends ID3v23FrameBody
A synchronized tempo codes frame body is associated with an ID3v2.3 SYTC
frame
which is used to specify tempo changes in the .mp3 song.
A tempo is specified as the metronome setting, ie, the number of beats per minute. Its range is from 2 - 510 bpm. The synchronized tempo codes frame body contains the following fields:
Field | Description | |
---|---|---|
1. | time stamp format | units of the time stamp field in the tempo changes . |
2. | tempoChanges | list of tempo changes within the .mp3 song. |
There may be only one synchronized tempo codes frame in an ID3v2.3 tag
.
Modifier and Type | Class and Description |
---|---|
class |
ID3v23FrameBodySynchronizedTempoCodes.TempoChange
used to indicate a tempo change within an .mp3 song.
|
buffer, dirty, frameType
nextNullTerminatorIndex, nullTerminatorIndex
Constructor and Description |
---|
ID3v23FrameBodySynchronizedTempoCodes()
The default constructor is called when creating a new frame.
|
ID3v23FrameBodySynchronizedTempoCodes(java.io.InputStream inputStream,
int frameBodySize)
This constructor is called when reading in an existing frame from an .mp3 file.
|
ID3v23FrameBodySynchronizedTempoCodes(TimeStampFormat timeStampFormat,
java.util.List<ID3v23FrameBodySynchronizedTempoCodes.TempoChange> tempoChanges)
This constructor is called when creating a new frame.
|
Modifier and Type | Method and Description |
---|---|
java.util.List<ID3v23FrameBodySynchronizedTempoCodes.TempoChange> |
getTempoChanges()
gets a list of the tempo changes that occur within the song.
|
TimeStampFormat |
getTimeStampFormat()
get the time stamp format.
|
void |
parse()
parses the raw bytes of the frame body and stores the parsed values in the frame's fields.
|
void |
setBuffer()
If the frame body's values have been modified, then resize the raw binary buffer and store the new values there.
|
void |
setTempoChanges(java.util.List<ID3v23FrameBodySynchronizedTempoCodes.TempoChange> tempoChanges)
sets the list of the tempo changes that occur within the song.
|
void |
setTimeStampFormat(TimeStampFormat timeStampFormat)
sets the time stamp format.
|
java.lang.String |
toString()
gets a string representation of the synchronized tempo codes frame body showing all of the frame's fields and their values.
|
getFrameType, getNextNullTerminator, getSize, isDirty, save, save
getNextNullTerminator, pricesToString, stringToBytes
bytesToInt, bytesToInt, bytesToShort, bytesToShort, bytesToSynchsafeInt, bytesToSynchsafeShort, formateDate, hex, hex, hex, intToBytes, littleEndianBytesToInt, pad, shortToBytes, synchsafeIntToBytes
public ID3v23FrameBodySynchronizedTempoCodes()
public ID3v23FrameBodySynchronizedTempoCodes(TimeStampFormat timeStampFormat, java.util.List<ID3v23FrameBodySynchronizedTempoCodes.TempoChange> tempoChanges)
timeStampFormat
- the units of the timestamps in the timestamp field of the tempo changes.tempoChanges
- list of tempo changes within the .mp3 song.public ID3v23FrameBodySynchronizedTempoCodes(java.io.InputStream inputStream, int frameBodySize) throws java.io.IOException
inputStream
- input stream pointing to a synchronized tempo codes frame body in the .mp3 file.frameBodySize
- size (in bytes) of the frame's body.java.io.IOException
- if there is an error while reading the frame body.public void parse() throws java.lang.IllegalArgumentException
parse
in class ID3v23FrameBody
java.lang.IllegalArgumentException
- if an invalid value is detected while parsing the frame body's raw bytes.public TimeStampFormat getTimeStampFormat()
setTimeStampFormat(TimeStampFormat)
public void setTimeStampFormat(TimeStampFormat timeStampFormat)
timeStampFormat
- the units of the time stamp.getTimeStampFormat()
public java.util.List<ID3v23FrameBodySynchronizedTempoCodes.TempoChange> getTempoChanges()
setTempoChanges(List)
public void setTempoChanges(java.util.List<ID3v23FrameBodySynchronizedTempoCodes.TempoChange> tempoChanges)
tempoChanges
- a list of the tempo changes that occur within the song.getTempoChanges()
public void setBuffer()
setBuffer
in class ID3v23FrameBody
public java.lang.String toString()
toString
in class java.lang.Object