AudioTrack.Builder
public
static
class
AudioTrack.Builder
extends Object
Builder class for AudioTrack
objects.
Use this class to configure and create an AudioTrack
instance. By setting audio
attributes and audio format parameters, you indicate which of those vary from the default
behavior on the device.
Here is an example where Builder
is used to specify all AudioFormat
parameters, to be used by a new AudioTrack
instance:
AudioTrack player = new AudioTrack.Builder()
.setAudioAttributes(new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ALARM)
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.build())
.setAudioFormat(new AudioFormat.Builder()
.setEncoding(AudioFormat.ENCODING_PCM_16BIT)
.setSampleRate(44100)
.setChannelMask(AudioFormat.CHANNEL_OUT_STEREO)
.build())
.setBufferSizeInBytes(minBuffSize)
.build();
If the audio attributes are not set with setAudioAttributes(AudioAttributes)
,
attributes comprising USAGE_MEDIA
will be used.
If the audio format is not specified or is incomplete, its channel configuration will be
CHANNEL_OUT_STEREO
and the encoding will be
ENCODING_PCM_16BIT
.
The sample rate will depend on the device actually selected for playback and can be queried
with getSampleRate()
method.
If the buffer size is not specified with setBufferSizeInBytes(int)
,
and the mode is MODE_STREAM
, the minimum buffer size is used.
If the transfer mode is not specified with setTransferMode(int)
,
MODE_STREAM
will be used.
If the session ID is not specified with setSessionId(int)
, a new one will
be generated.
Summary
Public constructors |
AudioTrack.Builder()
Constructs a new Builder with the default values as described above.
|
Inherited methods |
From
class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this object.
|
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
void
|
finalize()
Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
|
final
Class<?>
|
getClass()
Returns the runtime class of this Object .
|
int
|
hashCode()
Returns a hash code value for the object.
|
final
void
|
notify()
Wakes up a single thread that is waiting on this object's
monitor.
|
final
void
|
notifyAll()
Wakes up all threads that are waiting on this object's monitor.
|
String
|
toString()
Returns a string representation of the object.
|
final
void
|
wait(long millis, int nanos)
Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.
|
final
void
|
wait(long millis)
Causes the current thread to wait until either another thread invokes the
notify() method or the
notifyAll() method for this object, or a
specified amount of time has elapsed.
|
final
void
|
wait()
Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object.
|
|
Public constructors
AudioTrack.Builder
AudioTrack.Builder ()
Constructs a new Builder with the default values as described above.
Public methods
build
AudioTrack build ()
Builds an AudioTrack
instance initialized with all the parameters set
on this Builder
.
Throws |
UnsupportedOperationException |
if the parameters set on the Builder
were incompatible, or if they are not supported by the device,
or if the device was not available.
|
setBufferSizeInBytes
AudioTrack.Builder setBufferSizeInBytes (int bufferSizeInBytes)
Sets the total size (in bytes) of the buffer where audio data is read from for playback.
If using the AudioTrack
in streaming mode
(see MODE_STREAM
, you can write data into this buffer in smaller
chunks than this size. See getMinBufferSize(int, int, int)
to determine
the estimated minimum buffer size for the creation of an AudioTrack instance
in streaming mode.
If using the AudioTrack
in static mode (see
MODE_STATIC
), this is the maximum size of the sound that will be
played by this instance.
setTransferMode
AudioTrack.Builder setTransferMode (int mode)
Sets the mode under which buffers of audio data are transferred from the
AudioTrack
to the framework.