VolumeProvider
abstract class VolumeProvider
| kotlin.Any | |
| ↳ | android.media.VolumeProvider | 
Handles requests to adjust or set the volume on a session. This is also used to push volume updates back to the session. The provider must call setCurrentVolume(int) each time the volume being provided changes. 
 You can set a volume provider on a session by calling MediaSession.setPlaybackToRemote.
Summary
| Constants | |
|---|---|
| static Int | The volume control uses an absolute value. | 
| static Int | The volume is fixed and can not be modified. | 
| static Int | The volume control uses relative adjustment via  | 
| Public constructors | |
|---|---|
| VolumeProvider(volumeControl: Int, maxVolume: Int, currentVolume: Int)Creates a new volume provider for handling volume events. | |
| VolumeProvider(volumeControl: Int, maxVolume: Int, currentVolume: Int, volumeControlId: String?)Creates a new volume provider for handling volume events. | |
| Public methods | |
|---|---|
| Int | Gets the current volume. | 
| Int | Gets the maximum volume this provider allows. | 
| Int | Gets the volume control type that this volume provider uses. | 
| String? | Gets the  | 
| open Unit | onAdjustVolume(direction: Int)Override to handle requests to adjust the volume of the current output. | 
| open Unit | onSetVolumeTo(volume: Int)Override to handle requests to set the volume of the current output. | 
| Unit | setCurrentVolume(currentVolume: Int)Notifies the system that the current volume has been changed. | 
Constants
VOLUME_CONTROL_ABSOLUTE
static val VOLUME_CONTROL_ABSOLUTE: Int
The volume control uses an absolute value. It may be adjusted using onAdjustVolume(int) or set directly using onSetVolumeTo(int).
Value: 2VOLUME_CONTROL_FIXED
static val VOLUME_CONTROL_FIXED: Int
The volume is fixed and can not be modified. Requests to change volume should be ignored.
Value: 0VOLUME_CONTROL_RELATIVE
static val VOLUME_CONTROL_RELATIVE: Int
The volume control uses relative adjustment via onAdjustVolume(int). Attempts to set the volume to a specific value should be ignored.
Value: 1Public constructors
VolumeProvider
VolumeProvider(
volumeControl: Int,
maxVolume: Int,
currentVolume: Int)
Creates a new volume provider for handling volume events.
| Parameters | |
|---|---|
| volumeControl | Int: See getVolumeControl(). Value isandroid.media.VolumeProvider#VOLUME_CONTROL_FIXED,android.media.VolumeProvider#VOLUME_CONTROL_RELATIVE, orandroid.media.VolumeProvider#VOLUME_CONTROL_ABSOLUTE | 
| maxVolume | Int: The maximum allowed volume. | 
| currentVolume | Int: The current volume on the output. | 
VolumeProvider
VolumeProvider(
volumeControl: Int,
maxVolume: Int,
currentVolume: Int,
volumeControlId: String?)
Creates a new volume provider for handling volume events.
| Parameters | |
|---|---|
| volumeControl | Int: See getVolumeControl(). Value isandroid.media.VolumeProvider#VOLUME_CONTROL_FIXED,android.media.VolumeProvider#VOLUME_CONTROL_RELATIVE, orandroid.media.VolumeProvider#VOLUME_CONTROL_ABSOLUTE | 
| maxVolume | Int: The maximum allowed volume. | 
| currentVolume | Int: The current volume on the output. | 
| volumeControlId | String?: See getVolumeControlId(). This value may benull. | 
Public methods
getCurrentVolume
fun getCurrentVolume(): Int
Gets the current volume. This will be the last value set by setCurrentVolume(int).
| Return | |
|---|---|
| Int | The current volume. | 
getMaxVolume
fun getMaxVolume(): Int
Gets the maximum volume this provider allows.
| Return | |
|---|---|
| Int | The max allowed volume. | 
getVolumeControl
fun getVolumeControl(): Int
Gets the volume control type that this volume provider uses.
One of VOLUME_CONTROL_FIXED, VOLUME_CONTROL_ABSOLUTE, or VOLUME_CONTROL_RELATIVE.
| Return | |
|---|---|
| Int | The volume control type for this volume provider Value is android.media.VolumeProvider#VOLUME_CONTROL_FIXED,android.media.VolumeProvider#VOLUME_CONTROL_RELATIVE, orandroid.media.VolumeProvider#VOLUME_CONTROL_ABSOLUTE | 
getVolumeControlId
fun getVolumeControlId(): String?
Gets the routing controller id of the RoutingController associated with this volume provider, or null if unset. 
This id allows mapping this volume provider to a routing controller, which provides information about the media route and allows controlling its volume.
onAdjustVolume
open fun onAdjustVolume(direction: Int): Unit
Override to handle requests to adjust the volume of the current output. Direction will be one of AudioManager.ADJUST_LOWER, AudioManager.ADJUST_RAISE, AudioManager.ADJUST_SAME. After the volume has been modified setCurrentVolume must be called to notify the system.
| Parameters | |
|---|---|
| direction | Int: The direction to change the volume in. | 
onSetVolumeTo
open fun onSetVolumeTo(volume: Int): Unit
Override to handle requests to set the volume of the current output. After the volume has been modified setCurrentVolume must be called to notify the system.
| Parameters | |
|---|---|
| volume | Int: The volume to set the output to. | 
setCurrentVolume
fun setCurrentVolume(currentVolume: Int): Unit
Notifies the system that the current volume has been changed. This must be called every time the volume changes to ensure it is displayed properly.
| Parameters | |
|---|---|
| currentVolume | Int: The current volume on the output. | 
