public class ID3v24FrameBodyEqualization extends ID3v24FrameBody
An ID3v2.4 equalization frame body is associated with an ID3v2.4 EQU2
frame
which is used to specify points on an equalization (EQ)
curve. You may specify as many points
as you want, but typically you specify 16 or 32, much like the 32 band equalizers you can buy for your home stereo.
The equalization frame body contains the following fields:
Field | Description | |
---|---|---|
1. | interpolation method | method to use when interpolating between points on the EQ curve. |
2. | identification | uniquely identifies the situation and/or device when this eq curve should be applied. |
3. | levels | list of the points on the EQ curve. |
There may be more than one equalization frame in an ID3v2.4 tag
, but only one with the same identification string.
Modifier and Type | Class and Description |
---|---|
static class |
ID3v24FrameBodyEqualization.InterpolationMethod
valid ID3v2.4 equalization interpolation methods
|
buffer, dirty, frameType
nextNullTerminatorIndex, nullTerminatorIndex
Constructor and Description |
---|
ID3v24FrameBodyEqualization()
The default constructor is called when creating a new frame.
|
ID3v24FrameBodyEqualization(ID3v24FrameBodyEqualization.InterpolationMethod interpolationMethod,
java.lang.String identification,
Level[] levels)
This constructor is called when creating a new frame.
|
ID3v24FrameBodyEqualization(ID3v24FrameBodyEqualization.InterpolationMethod interpolationMethod,
java.lang.String identification,
java.util.List<Level> levels)
This constructor is called when creating a new frame.
|
ID3v24FrameBodyEqualization(java.io.InputStream inputStream,
int frameBodySize)
This constructor is called when reading in an existing frame from an .mp3 file.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getIdentification()
get the string which uniquely identifies the situation and/or device where this EQ curve should be applied.
|
ID3v24FrameBodyEqualization.InterpolationMethod |
getInterpolationMethod()
get the method to use when interpolating between points on the EQ curve.
|
java.util.List<Level> |
getLevels()
gets the levels comprising the equalization curve.
|
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 |
setIdentification(java.lang.String identification)
set the string which uniquely identifies the situation and/or device where this EQ curve should be applied.
|
void |
setInterpolationMethod(ID3v24FrameBodyEqualization.InterpolationMethod interpolationMethod)
set the method to use when interpolating between points on the EQ curve.
|
void |
setLevels(Level[] levels)
sets the levels comprising the equalization curve.
|
void |
setLevels(java.util.List<Level> levels)
sets the levels comprising the equalization curve.
|
java.lang.String |
toString()
gets a string representation of the equalization 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 ID3v24FrameBodyEqualization()
public ID3v24FrameBodyEqualization(ID3v24FrameBodyEqualization.InterpolationMethod interpolationMethod, java.lang.String identification, Level[] levels)
interpolationMethod
- method to use when interpolating between points on the EQ curve.identification
- uniquely identifies the situation and/or device when this EQ curve should be applied.levels
- points comprising the equalization curve.public ID3v24FrameBodyEqualization(ID3v24FrameBodyEqualization.InterpolationMethod interpolationMethod, java.lang.String identification, java.util.List<Level> levels)
interpolationMethod
- method to use when interpolating between points on the EQ curve.identification
- uniquely identifies the situation and/or device when this EQ curve should be applied.levels
- points comprising the equalization curve.public ID3v24FrameBodyEqualization(java.io.InputStream inputStream, int frameBodySize) throws java.io.IOException
inputStream
- input stream pointing to an equalization 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 ID3v24FrameBody
java.lang.IllegalArgumentException
- if an invalid value is detected while parsing the frame body's raw bytes.public ID3v24FrameBodyEqualization.InterpolationMethod getInterpolationMethod()
setInterpolationMethod(InterpolationMethod)
public void setInterpolationMethod(ID3v24FrameBodyEqualization.InterpolationMethod interpolationMethod)
interpolationMethod
- method to use when interpolating between points on the EQ curve.getInterpolationMethod()
public java.lang.String getIdentification()
setIdentification(String)
public void setIdentification(java.lang.String identification)
identification
- string which uniquely identifies the situation and/or device where this EQ curve should be applied.getIdentification()
public java.util.List<Level> getLevels()
setLevels(List)
public void setLevels(Level[] levels)
levels
- the levels comprising the equalization curve.getLevels()
public void setLevels(java.util.List<Level> levels)
levels
- the levels comprising the equalization curve.getLevels()
public void setBuffer()
setBuffer
in class ID3v24FrameBody
public java.lang.String toString()
toString
in class java.lang.Object