Added in API level 36

SoundQuality


class SoundQuality
kotlin.Any
   ↳ android.media.quality.MediaQualityContract.SoundQuality

Parameters for sound quality.

Summary

Constants
static String

Controls the output routing of the Audio Description track to connected headphones.

static String

Controls the output routing of the Audio Description track to the internal speakers.

static String

Sets the relative volume gain for the Audio Description track.

static String

Enable/disable auto volume control sound effect.

static String

The audio volume balance.

static String

Adjusts the left/right audio balance for a connected Bluetooth device.

static String

Adjusts the left/right audio balance for a connected headphone.

static String

Adjusts the left/right audio balance for the built-in speakers.

static String

The bass.

static String

Reports the audio latency of the connected Bluetooth (BT) media device in microseconds.

static String

Dialogue enhancer.

static String

Digital output delay in milliseconds.

static String

Sets the digital audio output mode.

static String

Key used to enable or disable Dolby Audio Processing (DAP).

static String

Enables or disables Dolby Atmos processing.

static String

Sets the sound mode for Dolby audio processing.

static String

Enable/disable the Surround Virtualizer.

static String

Enable/disable Volume Leveler.

static String

Sets the downmix mode for multi-channel audio.

static String

Enable/disable dynamic range compression (DRC) of digital theater system (DTS).

static String

Enable/disable DTS Virtual:X.

static String

Enable/disable virtual X definition.

static String

Enable/disable dialog clarity.

static String

Enable/disable the processing of virtual height channels.

static String

Enable/disable audio limiter.

static String

Enable/disable Total Bass Harmonic Distortion (X).

static String

Enable/disable the core DTS Virtual:X surround sound processing.

static String

Enable/disable DTS TruVolume HD.

static String

Enable/disable enhanced audio return channel (eARC).

static String

Equalizer can fine-tune the audio output by adjusting the loudness of different frequency bands; Normally each band have a value of -50 to 50.

static String

Toggles the High-Resolution Audio path, which offers better-than-CD quality playback with higher sampling rates and/or bit depth.

static String

Enables automatic Pan and Fade (Ducking) behavior for the main audio.

static String

The sound style of this profile.

static String

Enable/disable speaker output.

static String

Speaker delay in milliseconds.

static String

Enable/disable surround sound.

static String

The treble.

Constants

PARAMETER_AD_HEADPHONE_ENABLE

Added in API level 37
static val PARAMETER_AD_HEADPHONE_ENABLE: String

Controls the output routing of the Audio Description track to connected headphones.

If set to true, the AD track will be mixed and played through wired or Bluetooth headsets.

Note: This enables independent consumption of AD content if the audio engine supports dual-routing (e.g., AD on headphones, Main Audio on speakers).

Value: "ad_headphone_enable"

PARAMETER_AD_SPEAKER_ENABLE

Added in API level 37
static val PARAMETER_AD_SPEAKER_ENABLE: String

Controls the output routing of the Audio Description track to the internal speakers.

If set to true, the AD track will be mixed with the main audio and played through the device's built-in speakers.

Dependency: This setting is ignored if the device does not have internal speakers or if audio routing is forcibly overridden by system policy.

Value: "ad_speaker_enable"

PARAMETER_AD_VOLUME

Added in API level 37
static val PARAMETER_AD_VOLUME: String

Sets the relative volume gain for the Audio Description track.

Unit: Integer Percentage (0-100)

Default: Typically defaults to 50 or the system-wide accessibility volume preference.

This value controls the mixing level of the secondary audio stream (AD) before it is combined with the main program audio.

  • 0: AD track is muted.
  • 100: AD track is at maximum mixing volume.

Range: An integer between 0 and 100.
Value: "ad_volume"

PARAMETER_AUTO_VOLUME_CONTROL

Added in API level 36
static val PARAMETER_AUTO_VOLUME_CONTROL: String

Enable/disable auto volume control sound effect.

Type: BOOLEAN

Value: "auto_volume_control"

PARAMETER_BALANCE

Added in API level 36
static val PARAMETER_BALANCE: String

The audio volume balance.

This parameter controls the balance between the left and right speakers. The valid range is -50 to 50 (inclusive), where: - Negative values shift the balance towards the left speaker. - Positive values shift the balance towards the right speaker. - 0 represents a balanced output.

Type: INTEGER

Value: "balance"

PARAMETER_BALANCE_BLUETOOTH

Added in API level 37
static val PARAMETER_BALANCE_BLUETOOTH: String

Adjusts the left/right audio balance for a connected Bluetooth device. The range is -50 (left) to 50 (right), with 0 being centered.

Type: INTEGER

Value: "balance_bluetooth"

PARAMETER_BALANCE_HEADPHONES

Added in API level 37
static val PARAMETER_BALANCE_HEADPHONES: String

Adjusts the left/right audio balance for a connected headphone. The range is -50 (left) to 50 (right), with 0 being centered.

Type: INTEGER

Value: "balance_headphones"

PARAMETER_BALANCE_SPEAKER

Added in API level 37
static val PARAMETER_BALANCE_SPEAKER: String

Adjusts the left/right audio balance for the built-in speakers. The range is -50 (left) to 50 (right), with 0 being centered.

Type: INTEGER

Value: "balance_speaker"

PARAMETER_BASS

Added in API level 36
static val PARAMETER_BASS: String

The bass.

Bass controls the intensity of low-frequency sounds. The valid range is 0 - 100 (inclusive).

Type: INTEGER

Value: "bass"

PARAMETER_BT_LATENCY_US

Added in API level 37
static val PARAMETER_BT_LATENCY_US: String

Reports the audio latency of the connected Bluetooth (BT) media device in microseconds. This value can be used by A/V sync logic to maintain lip-sync.

Type: INTEGER

Value: "bt_latency_us"

PARAMETER_DIALOGUE_ENHANCER

Added in API level 36
static val PARAMETER_DIALOGUE_ENHANCER: String

Dialogue enhancer.

Possible values:

The default value is LEVEL_OFF.

Type: STRING

Value: "dialogue_enhancer"

PARAMETER_DIGITAL_OUTPUT_DELAY_MILLIS

Added in API level 36
static val PARAMETER_DIGITAL_OUTPUT_DELAY_MILLIS: String

Digital output delay in milliseconds.

Type: INTEGER

Value: "digital_output_delay_millis"

PARAMETER_DIGITAL_OUTPUT_MODE

Added in API level 36
static val PARAMETER_DIGITAL_OUTPUT_MODE: String

Sets the digital audio output mode.

This parameter controls the audio format sent to a digital output like HDMI or S/PDIF. This allows the user to select a specific audio format or let the system decide automatically. The supported values are:

  • "Auto": The system automatically selects the preferred format supported by the connected device. (Default)
  • "Bypass": The encoded audio stream is sent directly to the output without being decoded by this device.
  • "PCM": Audio is decoded to uncompressed Pulse-Code Modulation.
  • "Dolby Digital Plus"
  • "Dolby Digital"
  • "Dolby MAT"

Type: STRING

Value: "digital_output_mode"

PARAMETER_DOLBY_AUDIO_PROCESSING

Added in API level 37
static val PARAMETER_DOLBY_AUDIO_PROCESSING: String

Key used to enable or disable Dolby Audio Processing (DAP).

Value Type: String

Valid Values:

  • "on" - Enables Dolby post-processing (volume leveling, dialogue enhancement, surround virtualization).
  • "off" - Disables processing (audio is passed through without modification).

Default Value: "off"

When set to "on", the audio engine applies the currently configured Dolby profile to the output mix. When set to "off", the system operates in a "passthrough" or reference mode, preserving the original dynamic range and frequency response of the content.

Value: "dolby_audio_processing"

PARAMETER_DOLBY_AUDIO_PROCESSING_DOLBY_ATMOS

Added in API level 36
static val PARAMETER_DOLBY_AUDIO_PROCESSING_DOLBY_ATMOS: String

Enables or disables Dolby Atmos processing.

Dolby Atmos creates a more immersive and realistic sound experience by adding a height dimension to surround sound. It allows sound to be placed and moved precisely around you, including overhead.

When set to true, Dolby Atmos processing is enabled. When set to false, it is disabled, and the audio will be processed using other standard settings. Disabling this parameter does not change the list of available audio formats presented to the audio framework.

Note: This setting is only effective on devices that support Dolby Atmos; on unsupported systems, this option may be ignored or hidden. To experience Dolby Atmos, you need content specifically mixed for it. The immersive effect can be delivered through a dedicated Dolby Atmos sound system or through virtualization technologies for headphones and built-in speakers.

Type: BOOLEAN

Value: "dolby_audio_processing_dolby_atmos"

PARAMETER_DOLBY_AUDIO_PROCESSING_SOUND_MODE

Added in API level 36
static val PARAMETER_DOLBY_AUDIO_PROCESSING_SOUND_MODE: String

Sets the sound mode for Dolby audio processing.

This parameter allows the selection of a preset audio profile to optimize the listening experience for different types of content. The supported values are:

  • "Game"
  • "Movie"
  • "Music"
  • "News"
  • "Stadium"
  • "Standard"
  • "User"

The default value is "Standard".

Type: STRING

Value: "dolby_audio_processing_sound_mode"

PARAMETER_DOLBY_AUDIO_PROCESSING_SURROUND_VIRTUALIZER

Added in API level 36
static val PARAMETER_DOLBY_AUDIO_PROCESSING_SURROUND_VIRTUALIZER: String

Enable/disable the Surround Virtualizer.

The Surround Virtualizer creates a virtual surround sound experience when playing back Atmos, surround, and stereo content over two-channel endpoints like TV built-in speakers and headphones. It expands the soundstage and adds depth to the audio, creating an immersive effect without a multi-speaker setup. Note: When Dolby Atoms playback streams are active, this will always be true.

Type: BOOLEAN

Value: "dolby_audio_processing_surround_virtualizer"

PARAMETER_DOLBY_AUDIO_PROCESSING_VOLUME_LEVELER

Added in API level 36
static val PARAMETER_DOLBY_AUDIO_PROCESSING_VOLUME_LEVELER: String

Enable/disable Volume Leveler.

Volume Leveler helps to maintain a consistent volume level across different types of content and even within the same program. It minimizes the jarring jumps between loud commercials or action sequences and quiet dialogue.

Type: BOOLEAN

Value: "dolby_audio_processing_volume_leveler"

PARAMETER_DOWN_MIX_MODE

Added in API level 36
static val PARAMETER_DOWN_MIX_MODE: String

Sets the downmix mode for multi-channel audio.

This parameter determines how multi-channel audio (e.g., 5.1) is converted to a two-channel stereo output. This is useful when the playback device, like headphones or TV speakers, has fewer channels than the source audio.

The supported string values are:

  • "Stereo": A standard downmix (Lo/Ro) suitable for most stereo playback devices. (Default)
  • "Surround": A downmix that is matrix-encoded with surround sound information (Lt/Rt).

Type: STRING

Value: "down_mix_mode"

PARAMETER_DTS_DRC

Added in API level 36
static val PARAMETER_DTS_DRC: String

Enable/disable dynamic range compression (DRC) of digital theater system (DTS).

Type: BOOLEAN

Value: "dts_drc"

PARAMETER_DTS_VIRTUAL_X

Added in API level 37
static val PARAMETER_DTS_VIRTUAL_X: String

Enable/disable DTS Virtual:X.

DTS Virtual:X is an audio post-processing technology that provides an immersive listening experience by virtualizing a height and surround soundstage from any input source. When enabled, it aims to create a wider and taller sound field, enhancing spatial perception without the need for additional speakers.

Type: BOOLEAN

Possible values: true to enable, false to disable. The default value is false.

Note: When this set to false, other dts relate parameter should also be false.

Value: "dts_virtual_x"

PARAMETER_DTS_VIRTUAL_X_DEFINITION

Added in API level 36
static val PARAMETER_DTS_VIRTUAL_X_DEFINITION: String

Enable/disable virtual X definition.

It applies audio processing to improve overall sound definition and clarity.

Type: BOOLEAN

Value: "dts_virtual_x_definition"

PARAMETER_DTS_VIRTUAL_X_DIALOG_CLARITY

Added in API level 36
static val PARAMETER_DTS_VIRTUAL_X_DIALOG_CLARITY: String

Enable/disable dialog clarity.

It enhances the clarity and intelligibility of speech in audio content.

Type: BOOLEAN

Value: "dts_virtual_x_dialog_clarity"

PARAMETER_DTS_VIRTUAL_X_HEIGHT

Added in API level 36
static val PARAMETER_DTS_VIRTUAL_X_HEIGHT: String

Enable/disable the processing of virtual height channels.

It creates a more immersive audio experience by simulating sounds from above.

Type: BOOLEAN

Value: "dts_virtual_x_height"

PARAMETER_DTS_VIRTUAL_X_LIMITER

Added in API level 36
static val PARAMETER_DTS_VIRTUAL_X_LIMITER: String

Enable/disable audio limiter.

It prevents excessive volume peaks that could cause distortion or speaker damage.

Type: BOOLEAN

Value: "dts_virtual_x_limiter"

PARAMETER_DTS_VIRTUAL_X_TBHDX

Added in API level 36
static val PARAMETER_DTS_VIRTUAL_X_TBHDX: String

Enable/disable Total Bass Harmonic Distortion (X).

TBHDX bass enhancement provides a richer low-frequency experience, simulating deeper bass.

Type: BOOLEAN

Value: "dts_virtual_x_tbhdx"

PARAMETER_DTS_VIRTUAL_X_TRU_SURROUND_X

Added in API level 36
static val PARAMETER_DTS_VIRTUAL_X_TRU_SURROUND_X: String

Enable/disable the core DTS Virtual:X surround sound processing.

It creates an immersive, multi-channel audio experience from the speaker configuration.

Type: BOOLEAN

Value: "dts_virtual_x_tru_surround_x"

PARAMETER_DTS_VIRTUAL_X_TRU_VOLUME_HD

Added in API level 36
static val PARAMETER_DTS_VIRTUAL_X_TRU_VOLUME_HD: String

Enable/disable DTS TruVolume HD.

It reduces the dynamic range of audio, minimizing loudness variations between content and channels.

Type: BOOLEAN

Value: "dts_virtual_x_tru_volume_hd"

PARAMETER_EARC

Added in API level 36
static val PARAMETER_EARC: String

Enable/disable enhanced audio return channel (eARC).

eARC allows for higher bandwidth audio transmission over HDMI.

Type: BOOLEAN

Value: "earc"

PARAMETER_EQUALIZER_SETTINGS

Added in API level 37
static val PARAMETER_EQUALIZER_SETTINGS: String

Equalizer can fine-tune the audio output by adjusting the loudness of different frequency bands; Normally each band have a value of -50 to 50.

Type: String

Value: "equalizer_settings"

PARAMETER_HI_RES_AUDIO

Added in API level 37
static val PARAMETER_HI_RES_AUDIO: String

Toggles the High-Resolution Audio path, which offers better-than-CD quality playback with higher sampling rates and/or bit depth.

Type: BOOLEAN

Value: "hi_res_audio"

PARAMETER_PAN_FADE_ENABLE

Added in API level 37
static val PARAMETER_PAN_FADE_ENABLE: String

Enables automatic Pan and Fade (Ducking) behavior for the main audio.

When set to true, the audio engine will apply standard broadcast mixing rules:

  • Fade: The main program audio volume is lowered ("ducked") when audio description is present to ensure the narrator is intelligible.
  • Pan: The main audio may be spatially shifted (e.g., to background channels) to center the audio description track.

*

If set to false, the AD track is mixed simply as an overlay without modifying the volume or position of the main audio track.

Value: "pan_fade_enable"

PARAMETER_SOUND_STYLE

Added in API level 37
static val PARAMETER_SOUND_STYLE: String

The sound style of this profile.

Must be one of the following values, defined in SoundQuality.SoundStyleValue:

The default value is SOUND_STYLE_STANDARD.

Type: STRING

Value: "sound_style"

PARAMETER_SPEAKERS

Added in API level 36
static val PARAMETER_SPEAKERS: String

Enable/disable speaker output.

Type: BOOLEAN

Value: "speakers"

PARAMETER_SPEAKERS_DELAY_MILLIS

Added in API level 36
static val PARAMETER_SPEAKERS_DELAY_MILLIS: String

Speaker delay in milliseconds.

Type: INTEGER

Value: "speakers_delay_millis"

PARAMETER_SURROUND_SOUND

Added in API level 36
static val PARAMETER_SURROUND_SOUND: String

Enable/disable surround sound. Stereo Pulse-Code Modulation to apply a customizable filter. There is no difference on any use cases.

Type: BOOLEAN

Value: "surround_sound"

PARAMETER_TREBLE

Added in API level 36
static val PARAMETER_TREBLE: String

The treble.

Treble controls the intensity of high-frequency sounds. The valid range is 0 - 100 (inclusive).

Type: INTEGER

Value: "treble"