# Print output for @column tags ?>
public
static
final
class
VolumeShaper.Configuration.Builder
extends Object
java.lang.Object | |
↳ | android.media.VolumeShaper.Configuration.Builder |
Builder class for a VolumeShaper.Configuration
object.
Here is an example where Builder
is used to define the
VolumeShaper.Configuration
.
VolumeShaper.Configuration LINEAR_RAMP = new VolumeShaper.Configuration.Builder() .setInterpolatorType(VolumeShaper.Configuration.INTERPOLATOR_TYPE_LINEAR) .setCurve(new float[] { 0.f, 1.f }, // times new float[] { 0.f, 1.f }) // volumes .setDuration(1000) .build();
Public constructors | |
---|---|
Builder()
Constructs a new |
|
Builder(VolumeShaper.Configuration configuration)
Constructs a new |
Public methods | |
---|---|
VolumeShaper.Configuration
|
build()
Builds a new |
VolumeShaper.Configuration.Builder
|
invertVolumes()
Inverts the volume curve so that the max volume becomes the min volume and vice versa. |
VolumeShaper.Configuration.Builder
|
reflectTimes()
Reflects the volume curve so that the shaper changes volume from the end to the start. |
VolumeShaper.Configuration.Builder
|
scaleToEndVolume(float volume)
Scale the curve end volume to a target value. |
VolumeShaper.Configuration.Builder
|
scaleToStartVolume(float volume)
Scale the curve start volume to a target value. |
VolumeShaper.Configuration.Builder
|
setCurve(float[] times, float[] volumes)
Sets the volume curve. |
VolumeShaper.Configuration.Builder
|
setDuration(long durationMillis)
Sets the |
VolumeShaper.Configuration.Builder
|
setInterpolatorType(int interpolatorType)
Sets the interpolator type. |
Inherited methods | |
---|---|
public Builder ()
Constructs a new Builder
with the defaults.
public Builder (VolumeShaper.Configuration configuration)
Constructs a new Builder
with settings
copied from a given VolumeShaper.Configuration
.
Parameters | |
---|---|
configuration |
VolumeShaper.Configuration : prototypical configuration
which will be reused in the new Builder .
This value cannot be null . |
public VolumeShaper.Configuration build ()
Builds a new VolumeShaper
object.
Returns | |
---|---|
VolumeShaper.Configuration |
a new VolumeShaper object.
This value cannot be null . |
Throws | |
---|---|
IllegalStateException |
if curve is not properly set. |
public VolumeShaper.Configuration.Builder invertVolumes ()
Inverts the volume curve so that the max volume becomes the min volume and vice versa.
Returns | |
---|---|
VolumeShaper.Configuration.Builder |
the same Builder instance.
This value cannot be null . |
Throws | |
---|---|
IllegalStateException |
if curve has not been set. |
public VolumeShaper.Configuration.Builder reflectTimes ()
Reflects the volume curve so that the shaper changes volume from the end to the start.
Returns | |
---|---|
VolumeShaper.Configuration.Builder |
the same Builder instance.
This value cannot be null . |
Throws | |
---|---|
IllegalStateException |
if curve has not been set. |
public VolumeShaper.Configuration.Builder scaleToEndVolume (float volume)
Scale the curve end volume to a target value. Keeps the start volume the same. This works best if the volume curve is monotonic.
Parameters | |
---|---|
volume |
float : the target end volume to use. |
Returns | |
---|---|
VolumeShaper.Configuration.Builder |
the same Builder instance.
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if volume is not valid. |
IllegalStateException |
if curve has not been set. |
public VolumeShaper.Configuration.Builder scaleToStartVolume (float volume)
Scale the curve start volume to a target value. Keeps the end volume the same. This works best if the volume curve is monotonic.
Parameters | |
---|---|
volume |
float : the target start volume to use. |
Returns | |
---|---|
VolumeShaper.Configuration.Builder |
the same Builder instance.
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if volume is not valid. |
IllegalStateException |
if curve has not been set. |
public VolumeShaper.Configuration.Builder setCurve (float[] times, float[] volumes)
Sets the volume curve.
The volume curve is represented by a set of control points given by
two float arrays of equal length,
one representing the time (x) coordinates
and one corresponding to the volume (y) coordinates.
The length must be at least 2
and no greater than VolumeShaper.Configuration#getMaximumCurvePoints()
.
The volume curve is normalized as follows: time (x) coordinates should be monotonically increasing, from 0.f to 1.f; volume (y) coordinates must be within 0.f to 1.f.
The time scale is set by setDuration(long)
.
Parameters | |
---|---|
times |
float : an array of float values representing
the time line of the volume curve.
This value cannot be null . |
volumes |
float : an array of float values representing
the amplitude of the volume curve.
This value cannot be null . |
Returns | |
---|---|
VolumeShaper.Configuration.Builder |
the same Builder instance.
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if times or volumes is invalid. |
public VolumeShaper.Configuration.Builder setDuration (long durationMillis)
Sets the VolumeShaper
duration in milliseconds.
If omitted, the default duration is 1 second.
Returns | |
---|---|
VolumeShaper.Configuration.Builder |
the same Builder instance.
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if durationMillis
is not strictly positive. |
public VolumeShaper.Configuration.Builder setInterpolatorType (int interpolatorType)
Sets the interpolator type.
If omitted the default interpolator type is VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC
.
Parameters | |
---|---|
interpolatorType |
int : method of interpolation used for the volume curve.
One of VolumeShaper.Configuration.INTERPOLATOR_TYPE_STEP ,
VolumeShaper.Configuration.INTERPOLATOR_TYPE_LINEAR ,
VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC ,
VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC_MONOTONIC .
Value is VolumeShaper.Configuration.INTERPOLATOR_TYPE_STEP , VolumeShaper.Configuration.INTERPOLATOR_TYPE_LINEAR , VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC , or VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC_MONOTONIC |
Returns | |
---|---|
VolumeShaper.Configuration.Builder |
the same Builder instance.
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if interpolatorType is not valid. |