public abstract static class MediaRouteProvider.RouteController extends Object
The media router obtains a route controller for a route whenever it needs
to control a route. When a route is selected, the media router invokes
the onSelect()
method of its route controller. While selected,
the media router may call other methods of the route controller to
request that it perform certain actions to the route. When a route is
unselected, the media router invokes the onUnselect()
method of its
route controller. When the media route no longer needs the route controller
it will invoke the onRelease()
method to allow the route controller
to free its resources.
There may be multiple route controllers simultaneously active for the same route. Each route controller will be released separately.
All operations on the route controller are asynchronous and results are communicated via callbacks.
Constructor and Description |
---|
RouteController() |
Modifier and Type | Method and Description |
---|---|
boolean |
onControlRequest(Intent intent,
MediaRouter.ControlRequestCallback callback)
Performs a
media control request
asynchronously on behalf of the route. |
void |
onRelease()
Releases the route controller, allowing it to free its resources.
|
void |
onSelect()
Selects the route.
|
void |
onSetVolume(int volume)
Requests to set the volume of the route.
|
void |
onUnselect()
Unselects the route.
|
void |
onUnselect(int reason)
Unselects the route and provides a reason.
|
void |
onUpdateVolume(int delta)
Requests an incremental volume update for the route.
|
public void onRelease()
public void onSelect()
public void onUnselect()
public void onUnselect(int reason)
onUnselect()
.
The reason provided will be one of the following:
reason
- The reason for unselecting the route.public void onSetVolume(int volume)
volume
- The new volume value between 0 and MediaRouteDescriptor.getVolumeMax()
.public void onUpdateVolume(int delta)
delta
- The delta to add to the current volume.public boolean onControlRequest(Intent intent, @Nullable MediaRouter.ControlRequestCallback callback)
media control
request
asynchronously on behalf of the route.intent
- A media control intent
.callback
- A MediaRouter.ControlRequestCallback
to invoke with the result
of the request, or null if no result is required.MediaControlIntent