Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.
Android 0.0.0 Developer Preview
belongs to Maven artifact androidx.media:media:1.0.0-rc01

VolumeProviderCompat

public abstract class VolumeProviderCompat
extends Object

java.lang.Object
   ↳ androidx.media.VolumeProviderCompat


Handles requests to adjust or set the volume on a session. This is also used to push volume updates back to the session after a request has been handled. You can set a volume provider on a session by calling MediaSessionCompat.setPlaybackToRemote(VolumeProviderCompat).

Summary

Nested classes

class VolumeProviderCompat.Callback

Listens for changes to the volume. 

Constants

int VOLUME_CONTROL_ABSOLUTE

The volume control uses an absolute value.

int VOLUME_CONTROL_FIXED

The volume is fixed and can not be modified.

int VOLUME_CONTROL_RELATIVE

The volume control uses relative adjustment via onAdjustVolume(int).

Public constructors

VolumeProviderCompat(int volumeControl, int maxVolume, int currentVolume)

Create a new volume provider for handling volume events.

Public methods

final int getCurrentVolume()

Get the current volume of the provider.

final int getMaxVolume()

Get the maximum volume this provider allows.

final int getVolumeControl()

Get the volume control type that this volume provider uses.

Object getVolumeProvider()

Gets the underlying framework VolumeProvider object.

void onAdjustVolume(int direction)

Override to handle requests to adjust the volume of the current output.

void onSetVolumeTo(int volume)

Override to handle requests to set the volume of the current output.

void setCallback(VolumeProviderCompat.Callback callback)

Sets a callback to receive volume changes.

final void setCurrentVolume(int currentVolume)

Set the current volume and notify the system that the volume has been changed.

Inherited methods

Constants

VOLUME_CONTROL_ABSOLUTE

public static final int VOLUME_CONTROL_ABSOLUTE

The volume control uses an absolute value. It may be adjusted using onAdjustVolume(int) or set directly using onSetVolumeTo(int).

Constant Value: 2 (0x00000002)

VOLUME_CONTROL_FIXED

public static final int VOLUME_CONTROL_FIXED

The volume is fixed and can not be modified. Requests to change volume should be ignored.

Constant Value: 0 (0x00000000)

VOLUME_CONTROL_RELATIVE

public static final int VOLUME_CONTROL_RELATIVE

The volume control uses relative adjustment via onAdjustVolume(int). Attempts to set the volume to a specific value should be ignored.

Constant Value: 1 (0x00000001)

Public constructors

VolumeProviderCompat

public VolumeProviderCompat (int volumeControl, 
                int maxVolume, 
                int currentVolume)

Create a new volume provider for handling volume events. You must specify the type of volume control and the maximum volume that can be used.

Parameters
volumeControl int: The method for controlling volume that is used by this provider.

maxVolume int: The maximum allowed volume.

currentVolume int: The current volume.

Public methods

getCurrentVolume

public final int getCurrentVolume ()

Get the current volume of the provider.

Returns
int The current volume.

getMaxVolume

public final int getMaxVolume ()

Get the maximum volume this provider allows.

Returns
int The max allowed volume.

getVolumeControl

public final int getVolumeControl ()

Get the volume control type that this volume provider uses.

Returns
int The volume control type for this volume provider

getVolumeProvider

public Object getVolumeProvider ()

Gets the underlying framework VolumeProvider object.

This method is only supported on API 21+.

Returns
Object An equivalent VolumeProvider object, or null if none.

onAdjustVolume

public void onAdjustVolume (int direction)

Override to handle requests to adjust the volume of the current output.

Parameters
direction int: The direction to adjust the volume in.

onSetVolumeTo

public void onSetVolumeTo (int volume)

Override to handle requests to set the volume of the current output.

Parameters
volume int: The volume to set the output to.

setCallback

public void setCallback (VolumeProviderCompat.Callback callback)

Sets a callback to receive volume changes.

Used internally by the support library.

Parameters
callback VolumeProviderCompat.Callback

setCurrentVolume

public final void setCurrentVolume (int currentVolume)

Set the current volume and notify the system that the volume has been changed.

Parameters
currentVolume int: The current volume of the output.