Android APIs
public static class

AudioAttributes.Builder

extends Object
java.lang.Object
   ↳ android.media.AudioAttributes.Builder

Class Overview

Builder class for AudioAttributes objects.

Here is an example where Builder is used to define the AudioAttributes to be used by a new AudioTrack instance:

 AudioTrack myTrack = new AudioTrack(
         new AudioAttributes.Builder()
             .setUsage(AudioAttributes.USAGE_MEDIA)
             .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
             .build(),
         myFormat, myBuffSize, AudioTrack.MODE_STREAM, mySession);
 

By default all types of information (usage, content type, flags) conveyed by an AudioAttributes instance are set to "unknown". Unknown information will be interpreted as a default value that is dependent on the context of use, for instance a MediaPlayer will use a default usage of USAGE_MEDIA.

Summary

Public Constructors
AudioAttributes.Builder()
Constructs a new Builder with the defaults.
AudioAttributes.Builder(AudioAttributes aa)
Constructs a new Builder from a given AudioAttributes
Public Methods
AudioAttributes build()
Combines all of the attributes that have been set and return a new AudioAttributes object.
AudioAttributes.Builder setContentType(int contentType)
Sets the attribute describing the content type of the audio signal, such as speech, or music.
AudioAttributes.Builder setFlags(int flags)
Sets the combination of flags.
AudioAttributes.Builder setLegacyStreamType(int streamType)
Sets attributes as inferred from the legacy stream types.
AudioAttributes.Builder setUsage(int usage)
Sets the attribute describing what is the intended use of the the audio signal, such as alarm or ringtone.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public AudioAttributes.Builder ()

Added in API level 21

Constructs a new Builder with the defaults. By default, usage and content type are respectively USAGE_UNKNOWN and CONTENT_TYPE_UNKNOWN, and flags are 0. It is recommended to configure the usage (with setUsage(int)) or deriving attributes from a legacy stream type (with setLegacyStreamType(int)) before calling build() to override any default playback behavior in terms of routing and volume management.

public AudioAttributes.Builder (AudioAttributes aa)

Added in API level 21

Constructs a new Builder from a given AudioAttributes

Parameters
aa the AudioAttributes object whose data will be reused in the new Builder.

Public Methods

public AudioAttributes build ()

Added in API level 21

Combines all of the attributes that have been set and return a new AudioAttributes object.

Returns

public AudioAttributes.Builder setContentType (int contentType)

Added in API level 21

Sets the attribute describing the content type of the audio signal, such as speech, or music.

Returns
  • the same Builder instance.

public AudioAttributes.Builder setFlags (int flags)

Added in API level 21

Sets the combination of flags.

Parameters
flags the FLAG_AUDIBILITY_ENFORCED flag.
Returns
  • the same Builder instance.

public AudioAttributes.Builder setLegacyStreamType (int streamType)

Added in API level 21

Sets attributes as inferred from the legacy stream types. Use this method when building an AudioAttributes instance to initialize some of the attributes by information derived from a legacy stream type.

Returns
  • the same Builder instance.