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 is android.media.VolumeProvider#VOLUME_CONTROL_FIXED, android.media.VolumeProvider#VOLUME_CONTROL_RELATIVE, or android.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 is android.media.VolumeProvider#VOLUME_CONTROL_FIXED, android.media.VolumeProvider#VOLUME_CONTROL_RELATIVE, or android.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 be null. |
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, or android.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. |