Skip to content

Most visited

Recently visited

navigation

AudioAttributes.Builder

public static class AudioAttributes.Builder
extends Object

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


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.

Inherited methods

From class java.lang.Object

Public constructors

AudioAttributes.Builder

added in API level 21
AudioAttributes.Builder ()

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.

AudioAttributes.Builder

added in API level 21
AudioAttributes.Builder (AudioAttributes aa)

Constructs a new Builder from a given AudioAttributes

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

Public methods

build

added in API level 21
AudioAttributes build ()

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

Returns
AudioAttributes a new AudioAttributes object

setContentType

added in API level 21
AudioAttributes.Builder setContentType (int contentType)

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

Parameters
contentType int: the content type values, one of CONTENT_TYPE_MOVIE, CONTENT_TYPE_MUSIC, CONTENT_TYPE_SONIFICATION, CONTENT_TYPE_SPEECH, CONTENT_TYPE_UNKNOWN.

Returns
AudioAttributes.Builder the same Builder instance.

setFlags

added in API level 21
AudioAttributes.Builder setFlags (int flags)

Sets the combination of flags. This is a bitwise OR with the existing flags.

Parameters
flags int: a combination of FLAG_AUDIBILITY_ENFORCED, FLAG_HW_AV_SYNC.

Returns
AudioAttributes.Builder the same Builder instance.

setLegacyStreamType

added in API level 21
AudioAttributes.Builder setLegacyStreamType (int streamType)

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.

Parameters
streamType int: one of STREAM_VOICE_CALL, STREAM_SYSTEM, STREAM_RING, STREAM_MUSIC, STREAM_ALARM, or STREAM_NOTIFICATION.

Returns
AudioAttributes.Builder the same Builder instance.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)