Added in [API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/media/MediaRouter.VolumeCallback#pubctors) \| [Methods](https://developer.android.com/reference/android/media/MediaRouter.VolumeCallback#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/media/MediaRouter.VolumeCallback#inhmethods)

# MediaRouter.VolumeCallback

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/media/MediaRouter.VolumeCallback "View this page in Kotlin") \|Java


`
public
static

abstract
class
MediaRouter.VolumeCallback
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.media.MediaRouter.VolumeCallback |

<br />

*** ** * ** ***

Interface for receiving events about volume changes.
All methods of this interface will be called from the application's main thread.

A VolumeCallback will only receive events relevant to routes that the callback
was registered for.

<br />

**See also:**

- `https://developer.android.com/reference/android/media/MediaRouter.UserRouteInfo#setVolumeCallback(android.media.MediaRouter.VolumeCallback)`

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/media/MediaRouter.VolumeCallback#VolumeCallback()() ` |

| ### Public methods ||
|---|---|
| ` abstract void` | ` https://developer.android.com/reference/android/media/MediaRouter.VolumeCallback#onVolumeSetRequest(android.media.MediaRouter.RouteInfo,%20int)(https://developer.android.com/reference/android/media/MediaRouter.RouteInfo info, int volume) ` Called when the volume for the route should be set to the given value |
| ` abstract void` | ` https://developer.android.com/reference/android/media/MediaRouter.VolumeCallback#onVolumeUpdateRequest(android.media.MediaRouter.RouteInfo,%20int)(https://developer.android.com/reference/android/media/MediaRouter.RouteInfo info, int direction) ` Called when the volume for the route should be increased or decreased. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Public constructors

### VolumeCallback

```
public VolumeCallback ()
```

<br />

<br />

## Public methods

### onVolumeSetRequest

Added in [API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void onVolumeSetRequest (MediaRouter.RouteInfo info, 
                int volume)
```

Called when the volume for the route should be set to the given value

<br />

| Parameters ||
|---|---|
| `info` | `MediaRouter.RouteInfo`: the route affected by this event <br /> |
| `volume` | `int`: an integer indicating the new volume value that should be used, always between 0 and the value set by `https://developer.android.com/reference/android/media/MediaRouter.UserRouteInfo#setVolumeMax(int)`. <br /> |

### onVolumeUpdateRequest

Added in [API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void onVolumeUpdateRequest (MediaRouter.RouteInfo info, 
                int direction)
```

Called when the volume for the route should be increased or decreased.

<br />

| Parameters ||
|---|---|
| `info` | `MediaRouter.RouteInfo`: the route affected by this event <br /> |
| `direction` | `int`: an integer indicating whether the volume is to be increased (positive value) or decreased (negative value). For bundled changes, the absolute value indicates the number of changes in the same direction, e.g. +3 corresponds to three "volume up" changes. <br /> |