RoutingController
class RoutingController
kotlin.Any | |
↳ | android.media.MediaRouter2.RoutingController |
Controls a media routing session.
Routing controllers wrap a RoutingSessionInfo
, taking care of mapping route ids to MediaRoute2Info
instances. You can still access the underlying session using getRoutingSessionInfo()
, but keep in mind it can be changed by other threads. Changes to the routing session are notified via ControllerCallback
.
Summary
Public methods | |
---|---|
open Unit |
deselectRoute(route: MediaRoute2Info) Deselects a route from the remote session. |
open Bundle? |
Gets the control hints used to control routing session if available. |
open MutableList<MediaRoute2Info!> |
Returns the unmodifiable list of deselectable routes for the session. |
open String |
getId() |
open RoutingSessionInfo |
Returns the current |
open MutableList<MediaRoute2Info!> |
Returns the unmodifiable list of selectable routes for the session. |
open MutableList<MediaRoute2Info!> |
Returns the unmodifiable list of currently selected routes |
open MutableList<MediaRoute2Info!> |
Returns the unmodifiable list of transferable routes for the session. |
open Int |
Gets the current volume of the session. |
open Int |
Gets the information about how volume is handled on the session. |
open Int |
Gets the maximum volume of the session. |
open Boolean |
Returns true if this controller is released, false otherwise. |
open Unit |
release() Releases this controller and the corresponding session. |
open Unit |
selectRoute(route: MediaRoute2Info) Selects a route for the remote session. |
open Unit |
Requests a volume change for the remote session asynchronously. |
open String |
toString() |
open Boolean |
Returns whether the transfer was initiated by the calling app (as determined by comparing |
Public methods
deselectRoute
open fun deselectRoute(route: MediaRoute2Info): Unit
Deselects a route from the remote session. After a route is deselected, the media is expected to be stopped on the deselected route.
The given route must satisfy all of the following conditions:
- It should be included in
getSelectedRoutes()
- It should be included in
getDeselectableRoutes()
Parameters | |
---|---|
route |
MediaRoute2Info: This value cannot be null . |
getControlHints
open fun getControlHints(): Bundle?
Gets the control hints used to control routing session if available. It is set by the media route provider.
Return | |
---|---|
Bundle? |
This value may be null . |
getDeselectableRoutes
open fun getDeselectableRoutes(): MutableList<MediaRoute2Info!>
Returns the unmodifiable list of deselectable routes for the session.
Return | |
---|---|
MutableList<MediaRoute2Info!> |
This value cannot be null . |
getId
open fun getId(): String
Return | |
---|---|
String |
the ID of the controller. It is globally unique. This value cannot be null . |
getRoutingSessionInfo
open fun getRoutingSessionInfo(): RoutingSessionInfo
Returns the current RoutingSessionInfo
associated to this controller.
Return | |
---|---|
RoutingSessionInfo |
This value cannot be null . |
getSelectableRoutes
open fun getSelectableRoutes(): MutableList<MediaRoute2Info!>
Returns the unmodifiable list of selectable routes for the session.
Return | |
---|---|
MutableList<MediaRoute2Info!> |
This value cannot be null . |
getSelectedRoutes
open fun getSelectedRoutes(): MutableList<MediaRoute2Info!>
Returns the unmodifiable list of currently selected routes
Return | |
---|---|
MutableList<MediaRoute2Info!> |
This value cannot be null . |
getTransferableRoutes
open fun getTransferableRoutes(): MutableList<MediaRoute2Info!>
Returns the unmodifiable list of transferable routes for the session.
Return | |
---|---|
MutableList<MediaRoute2Info!> |
This value cannot be null . |
getVolume
open fun getVolume(): Int
Gets the current volume of the session.
When it's available, it represents the volume of routing session, which is a group of selected routes. Use MediaRoute2Info.getVolume()
to get the volume of a route,
getVolumeHandling
open fun getVolumeHandling(): Int
Gets the information about how volume is handled on the session.
Please note that you may not control the volume of the session even when you can control the volume of each selected route in the session.
getVolumeMax
open fun getVolumeMax(): Int
Gets the maximum volume of the session.
isReleased
open fun isReleased(): Boolean
Returns true if this controller is released, false otherwise. If it is released, then all other getters from this instance may return invalid values. Also, any operations to this instance will be ignored once released.
See Also
release
open fun release(): Unit
Releases this controller and the corresponding session. Any operations on this controller after calling this method will be ignored. The devices that are playing media will stop playing it.
selectRoute
open fun selectRoute(route: MediaRoute2Info): Unit
Selects a route for the remote session. After a route is selected, the media is expected to be played to the all the selected routes. This is different from transferring to a route
, where the media is expected to 'move' from one route to another.
The given route must satisfy all of the following conditions:
- It should not be included in
getSelectedRoutes()
- It should be included in
getSelectableRoutes()
Parameters | |
---|---|
route |
MediaRoute2Info: This value cannot be null . |
setVolume
open fun setVolume(volume: Int): Unit
Requests a volume change for the remote session asynchronously.
Parameters | |
---|---|
volume |
Int: The new volume value between 0 and RoutingController.getVolumeMax (inclusive). |
See Also
toString
open fun toString(): String
Return | |
---|---|
String |
a string representation of the object. |
wasTransferInitiatedBySelf
open fun wasTransferInitiatedBySelf(): Boolean
Returns whether the transfer was initiated by the calling app (as determined by comparing UserHandle
and package name).