public
abstract
class
VolumeProvider
extends Object
| java.lang.Object | |
| ↳ | 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
setPlaybackToRemote(VolumeProvider).
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
|
Public constructors | |
|---|---|
VolumeProvider(int volumeControl, int maxVolume, int currentVolume)
Create a new volume provider for handling volume events. |
|
Public methods | |
|---|---|
final
int
|
getCurrentVolume()
Gets the current volume. |
final
int
|
getMaxVolume()
Get the maximum volume this provider allows. |
final
int
|
getVolumeControl()
Get the volume control type that this volume provider uses. |
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. |
final
void
|
setCurrentVolume(int currentVolume)
Notify the system that the current volume has been changed. |
Inherited methods | |
|---|---|
java.lang.Object
| |
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)
int VOLUME_CONTROL_FIXED
The volume is fixed and can not be modified. Requests to change volume should be ignored.
Constant Value: 0 (0x00000000)
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)
VolumeProvider (int volumeControl,
int maxVolume,
int currentVolume)
Create a new volume provider for handling volume events. You must specify the type of volume control, the maximum volume that can be used, and the current volume on the output.
| 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 on the output.
|
int getCurrentVolume ()
Gets the current volume. This will be the last value set by
setCurrentVolume(int).
| Returns | |
|---|---|
int |
The current volume. |
int getMaxVolume ()
Get the maximum volume this provider allows.
| Returns | |
|---|---|
int |
The max allowed volume. |
int getVolumeControl ()
Get the volume control type that this volume provider uses.
| Returns | |
|---|---|
int |
The volume control type for this volume provider |
void onAdjustVolume (int direction)
Override to handle requests to adjust the volume of the current output.
Direction will be one of ADJUST_LOWER,
ADJUST_RAISE, ADJUST_SAME.
After the volume has been modified setCurrentVolume(int) must be
called to notify the system.
| Parameters | |
|---|---|
direction |
int:
The direction to change the volume in.
|
void onSetVolumeTo (int volume)
Override to handle requests to set the volume of the current output.
After the volume has been modified setCurrentVolume(int) must be
called to notify the system.
| Parameters | |
|---|---|
volume |
int:
The volume to set the output to.
|
void setCurrentVolume (int currentVolume)
Notify 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.
|