public
class
MediaRouter2.RoutingController
extends Object
java.lang.Object | |
↳ | android.media.MediaRouter2.RoutingController |
A class to control media routing session in media route provider.
For example, selecting/deselecting/transferring to routes of a session can be done through
this. Instances are created when
TransferCallback#onTransfer(RoutingController, RoutingController)
is called,
which is invoked after MediaRouter2.transferTo(android.media.MediaRoute2Info)
is called.
Public methods | |
---|---|
void
|
deselectRoute(MediaRoute2Info route)
Deselects a route from the remote session. |
Bundle
|
getControlHints()
Gets the control hints used to control routing session if available. |
List<MediaRoute2Info>
|
getDeselectableRoutes()
|
String
|
getId()
|
List<MediaRoute2Info>
|
getSelectableRoutes()
|
List<MediaRoute2Info>
|
getSelectedRoutes()
|
int
|
getVolume()
Gets the current volume of the session. |
int
|
getVolumeHandling()
Gets the information about how volume is handled on the session. |
int
|
getVolumeMax()
Gets the maximum volume of the session. |
boolean
|
isReleased()
Returns true if this controller is released, false otherwise. |
void
|
release()
Releases this controller and the corresponding session. |
void
|
selectRoute(MediaRoute2Info route)
Selects a route for the remote session. |
void
|
setVolume(int volume)
Requests a volume change for the remote session asynchronously. |
String
|
toString()
Returns a string representation of the object. |
Inherited methods | |
---|---|
public void deselectRoute (MediaRoute2Info route)
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:
getSelectedRoutes()
getDeselectableRoutes()
Parameters | |
---|---|
route |
MediaRoute2Info : This value cannot be null . |
public Bundle getControlHints ()
Gets the control hints used to control routing session if available. It is set by the media route provider.
Returns | |
---|---|
Bundle |
This value may be null . |
public List<MediaRoute2Info> getDeselectableRoutes ()
Returns | |
---|---|
List<MediaRoute2Info> |
the unmodifiable list of deselectable routes for the session.
This value cannot be null . |
public String getId ()
Returns | |
---|---|
String |
the ID of the controller. It is globally unique.
This value cannot be null . |
public List<MediaRoute2Info> getSelectableRoutes ()
Returns | |
---|---|
List<MediaRoute2Info> |
the unmodifiable list of selectable routes for the session.
This value cannot be null . |
public List<MediaRoute2Info> getSelectedRoutes ()
Returns | |
---|---|
List<MediaRoute2Info> |
the unmodifiable list of currently selected routes
This value cannot be null . |
public int getVolume ()
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,
Returns | |
---|---|
int |
See also:
public int getVolumeHandling ()
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.
Returns | |
---|---|
int |
MediaRoute2Info#PLAYBACK_VOLUME_FIXED or
MediaRoute2Info#PLAYBACK_VOLUME_VARIABLE
Value is MediaRoute2Info.PLAYBACK_VOLUME_FIXED , or MediaRoute2Info.PLAYBACK_VOLUME_VARIABLE |
public int getVolumeMax ()
Gets the maximum volume of the session.
Returns | |
---|---|
int |
public boolean isReleased ()
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.
Returns | |
---|---|
boolean |
See also:
public void release ()
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.
public void selectRoute (MediaRoute2Info route)
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 MediaRouter2#transferTo(MediaRoute2Info)
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:
getSelectedRoutes()
getSelectableRoutes()
Parameters | |
---|---|
route |
MediaRoute2Info : This value cannot be null . |
public void setVolume (int volume)
Requests a volume change for the remote session asynchronously.
Parameters | |
---|---|
volume |
int : The new volume value between 0 and RoutingController#getVolumeMax
(inclusive). |
See also:
public String toString ()
Returns a string representation of the object. In general, the
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |