# MediaRouter.RouteInfo

Artifact: [androidx.mediarouter:mediarouter](https://developer.android.com/jetpack/androidx/releases/mediarouter) [View Source](https://cs.android.com/search?q=file:androidx/mediarouter/media/MediaRouter.java+class:androidx.mediarouter.media.MediaRouter.RouteInfo) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

*** ** * ** ***

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


```
class MediaRouter.RouteInfo
```

<br />

Known direct subclasses [MediaRouter.GroupRouteInfo](https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.GroupRouteInfo)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.GroupRouteInfo` | Provides information about a media route that represents a dynamic group. |

*** ** * ** ***

Provides information about a media route.

Each media route has a list of `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent``https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getControlFilters()` that describe the capabilities of the route and the manner in which it is used and controlled.

## Summary

| ### Constants |
|---|---|
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#CONNECTION_STATE_CONNECTED() = 2` A connection state indicating the route is connected. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#CONNECTION_STATE_CONNECTING() = 1` A connection state indicating the route is in the process of connecting and is not yet ready for use. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#CONNECTION_STATE_DISCONNECTED() = 0` The default connection state indicating the route is disconnected. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_AUDIO_VIDEO_RECEIVER() = 4` A receiver device type indicating that the presentation of the media is happening on an Audio/Video receiver (AVR). |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_BLE_HEADSET() = 22` A receiver device type indicating the presentation of the media is happening on a Bluetooth Low Energy (BLE) HEADSET. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_BLUETOOTH_A2DP() = 3` A receiver device type of the route indicating the presentation of the media is happening on a bluetooth device such as a bluetooth speaker. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_BUILTIN_SPEAKER() = 12` A receiver device type indicating the presentation of the media is happening on a speaker system (i.e. a mono speaker or stereo speakers) built into the device. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_CAR() = 9` A receiver device type indicating that the presentation of the media is happening on a car. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_COMPUTER() = 7` A receiver device type indicating that the presentation of the media is happening on a computer. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_DOCK() = 19` A receiver device type indicating the presentation of the media is happening on an audio device associated on a dock. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_GAME_CONSOLE() = 8` A receiver device type indicating that the presentation of the media is happening on a gaming console. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_GROUP() = 1000` A receiver device type indicating that the presentation of the media is happening on a group of devices. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_HDMI() = 16` A receiver device type indicating the presentation of the media is happening on an HDMI connection. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_HDMI_ARC() = 23` A receiver device type indicating the presentation of the media is happening on an Audio Return Channel of an HDMI connection |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_HDMI_EARC() = 24` A receiver device type indicating the presentation of the media is happening on an Enhanced Audio Return Channel of an HDMI connection |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_HEARING_AID() = 21` A receiver device type indicating the presentation of the media is happening on a hearing aid device. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_REMOTE_SPEAKER() = 2` A receiver device type of the route indicating the presentation of the media is happening on a remote speaker. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_SMARTPHONE() = 11` A receiver device type indicating that the presentation of the media is happening on a smartphone. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_SMARTWATCH() = 10` A receiver device type indicating that the presentation of the media is happening on a smartwatch. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_SPEAKER() = 2` **This property is deprecated.** use `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_BUILTIN_SPEAKER()` and `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_REMOTE_SPEAKER()` instead. <br /> |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_TABLET() = 5` A receiver device type indicating that the presentation of the media is happening on a tablet. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_TABLET_DOCKED() = 6` A receiver device type indicating that the presentation of the media is happening on a docked tablet. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_TV() = 1` A receiver device type of the route indicating the presentation of the media is happening on a TV. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_USB_ACCESSORY() = 18` A receiver device type indicating the presentation of the media is happening on a USB audio device in accessory mode. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_USB_DEVICE() = 17` A receiver device type indicating the presentation of the media is happening on a USB audio device. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_USB_HEADSET() = 20` A receiver device type indicating the presentation of the media is happening on a USB audio headset. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_WIRED_HEADPHONES() = 14` A receiver device type indicating the presentation of the media is happening on a pair of wired headphones. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_WIRED_HEADSET() = 13` A receiver device type indicating the presentation of the media is happening on a headset, which is the combination of a headphones and a microphone. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_TYPE_LOCAL() = 0` The default playback type, "local", indicating the presentation of the media is happening on the same device (e.g. a phone, a tablet) as where it is controlled from. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_TYPE_REMOTE() = 1` A playback type indicating the presentation of the media is happening on a different device (i.e. the remote device) than where it is controlled from. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_VOLUME_FIXED() = 0` Playback information indicating the playback volume is fixed, i.e. it cannot be controlled from this object. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_VOLUME_VARIABLE() = 1` Playback information indicating the playback volume is variable and can be controlled from this object. |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#canDisconnect()()` Gets whether this route supports disconnecting without interrupting playback. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#connect()()` Connects this route without selecting it. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#disconnect()()` Disconnects this route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getConnectionState()()` Gets the connection state of the route. |
| `(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/android/content/IntentFilter.html!>` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getControlFilters()()` Gets a list of `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` filters that describe the capabilities of this route and the media control actions that it supports. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDescription()()` Gets the user-visible description of the route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()()` Gets the type of the receiver device associated with this route. |
| `https://developer.android.com/reference/android/os/Bundle.html?` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getExtras()()` Gets a collection of extra properties about this route that were supplied by its media route provider, or null if none. |
| `https://developer.android.com/reference/android/net/Uri.html?` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getIconUri()()` Gets the URI of the icon representing this route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getId()()` Gets the unique id of the route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor?` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getMediaRouteDescriptor()()` Returns the `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor` of this media route info or `null` if it is not updated by its provider yet. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getName()()` Gets the user-visible name of the route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getPlaybackStream()()` Gets the audio stream over which the playback associated with this route is performed. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getPlaybackType()()` Gets the type of playback associated with this route. |
| `https://developer.android.com/reference/android/view/Display.html?` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getPresentationDisplay()()` Gets the `https://developer.android.com/reference/android/view/Display.html` that should be used by the application to show a `https://developer.android.com/reference/android/app/Presentation.html` on an external display when this route is selected. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.ProviderInfo` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getProvider()()` Gets information about the provider of this media route. |
| `https://developer.android.com/reference/android/content/IntentSender.html?` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getSettingsIntent()()` Gets an intent sender for launching a settings activity for this route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getVolume()()` Gets the current volume for this route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getVolumeHandling()()` Gets information about how volume is handled on the route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getVolumeMax()()` Gets the maximum volume at which the playback associated with this route is performed. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#isBluetooth()()` Returns true if this route is a bluetooth route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `[isConnecting](https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#isConnecting())()` **This function is deprecated.** use `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getConnectionState()` instead. <br /> |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#isDefault()()` Returns true if this route is the default route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#isDeviceSpeaker()()` Returns true if this route is the default route and the device speaker. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#isEnabled()()` Returns true if this route is enabled and may be selected. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#isSelected()()` Returns true if this route is currently selected. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#isSystemRoute()()` Returns `true` if this route is a system route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#matchesSelector(androidx.mediarouter.media.MediaRouteSelector)(selector: https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteSelector)` Returns true if the route supports at least one of the capabilities described by a media route selector. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#requestSetVolume(int)(volume: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Requests a volume change for this route asynchronously. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#requestUpdateVolume(int)(delta: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Requests an incremental volume update for this route asynchronously. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#select()()` Selects this media route. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#sendControlRequest(android.content.Intent,androidx.mediarouter.media.MediaRouter.ControlRequestCallback)( intent: https://developer.android.com/reference/android/content/Intent.html, callback: https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.ControlRequestCallback? )` Sends a `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` request to be performed asynchronously by the route's destination. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#supportsControlAction(java.lang.String,java.lang.String)(category: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, action: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Returns true if the route supports the specified `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` category and action. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#supportsControlCategory(java.lang.String)(category: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Returns true if the route supports the specified `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` category. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/annotation/MainThread https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#supportsControlRequest(android.content.Intent)(intent: https://developer.android.com/reference/android/content/Intent.html)` Returns true if the route supports the specified `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` request. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#toString()()` |

## Constants

### CONNECTION_STATE_CONNECTED

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
const val CONNECTION_STATE_CONNECTED = 2: Int
```

A connection state indicating the route is connected.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getConnectionState()` |   |

### CONNECTION_STATE_CONNECTING

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
const val CONNECTION_STATE_CONNECTING = 1: Int
```

A connection state indicating the route is in the process of connecting and is not yet ready for use.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getConnectionState()` |   |

### CONNECTION_STATE_DISCONNECTED

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
const val CONNECTION_STATE_DISCONNECTED = 0: Int
```

The default connection state indicating the route is disconnected.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getConnectionState()` |   |

### DEVICE_TYPE_AUDIO_VIDEO_RECEIVER

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
const val DEVICE_TYPE_AUDIO_VIDEO_RECEIVER = 4: Int
```

A receiver device type indicating that the presentation of the media is happening on an Audio/Video receiver (AVR).

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_BLE_HEADSET

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_BLE_HEADSET = 22: Int
```

A receiver device type indicating the presentation of the media is happening on a Bluetooth Low Energy (BLE) HEADSET.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_BLUETOOTH_A2DP

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_BLUETOOTH_A2DP = 3: Int
```

A receiver device type of the route indicating the presentation of the media is happening on a bluetooth device such as a bluetooth speaker.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_BUILTIN_SPEAKER

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_BUILTIN_SPEAKER = 12: Int
```

A receiver device type indicating the presentation of the media is happening on a speaker system (i.e. a mono speaker or stereo speakers) built into the device.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_CAR

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
const val DEVICE_TYPE_CAR = 9: Int
```

A receiver device type indicating that the presentation of the media is happening on a car.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_COMPUTER

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
const val DEVICE_TYPE_COMPUTER = 7: Int
```

A receiver device type indicating that the presentation of the media is happening on a computer.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_DOCK

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_DOCK = 19: Int
```

A receiver device type indicating the presentation of the media is happening on an audio device associated on a dock.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_GAME_CONSOLE

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
const val DEVICE_TYPE_GAME_CONSOLE = 8: Int
```

A receiver device type indicating that the presentation of the media is happening on a gaming console.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_GROUP

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
const val DEVICE_TYPE_GROUP = 1000: Int
```

A receiver device type indicating that the presentation of the media is happening on a group of devices.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_HDMI

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_HDMI = 16: Int
```

A receiver device type indicating the presentation of the media is happening on an HDMI connection.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_HDMI_ARC

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_HDMI_ARC = 23: Int
```

A receiver device type indicating the presentation of the media is happening on an Audio Return Channel of an HDMI connection

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_HDMI_EARC

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_HDMI_EARC = 24: Int
```

A receiver device type indicating the presentation of the media is happening on an Enhanced Audio Return Channel of an HDMI connection

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_HEARING_AID

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_HEARING_AID = 21: Int
```

A receiver device type indicating the presentation of the media is happening on a hearing aid device.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_REMOTE_SPEAKER

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_REMOTE_SPEAKER = 2: Int
```

A receiver device type of the route indicating the presentation of the media is happening on a remote speaker.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_SMARTPHONE

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_SMARTPHONE = 11: Int
```

A receiver device type indicating that the presentation of the media is happening on a smartphone.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_SMARTWATCH

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
const val DEVICE_TYPE_SMARTWATCH = 10: Int
```

A receiver device type indicating that the presentation of the media is happening on a smartwatch.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_SPEAKER

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0) Deprecated in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_SPEAKER = 2: Int
```
| **This property is deprecated.**   
|
| use `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_BUILTIN_SPEAKER()` and `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#DEVICE_TYPE_REMOTE_SPEAKER()` instead.

A receiver device type of the route indicating the presentation of the media is happening on a speaker.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_TABLET

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
const val DEVICE_TYPE_TABLET = 5: Int
```

A receiver device type indicating that the presentation of the media is happening on a tablet.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_TABLET_DOCKED

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
const val DEVICE_TYPE_TABLET_DOCKED = 6: Int
```

A receiver device type indicating that the presentation of the media is happening on a docked tablet.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_TV

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
const val DEVICE_TYPE_TV = 1: Int
```

A receiver device type of the route indicating the presentation of the media is happening on a TV.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_USB_ACCESSORY

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_USB_ACCESSORY = 18: Int
```

A receiver device type indicating the presentation of the media is happening on a USB audio device in accessory mode.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_USB_DEVICE

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_USB_DEVICE = 17: Int
```

A receiver device type indicating the presentation of the media is happening on a USB audio device.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_USB_HEADSET

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_USB_HEADSET = 20: Int
```

A receiver device type indicating the presentation of the media is happening on a USB audio headset.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_WIRED_HEADPHONES

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_WIRED_HEADPHONES = 14: Int
```

A receiver device type indicating the presentation of the media is happening on a pair of wired headphones.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### DEVICE_TYPE_WIRED_HEADSET

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
const val DEVICE_TYPE_WIRED_HEADSET = 13: Int
```

A receiver device type indicating the presentation of the media is happening on a headset, which is the combination of a headphones and a microphone.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getDeviceType()` |   |

### PLAYBACK_TYPE_LOCAL

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
const val PLAYBACK_TYPE_LOCAL = 0: Int
```

The default playback type, "local", indicating the presentation of the media is happening on the same device (e.g. a phone, a tablet) as where it is controlled from.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getPlaybackType()` |   |

### PLAYBACK_TYPE_REMOTE

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
const val PLAYBACK_TYPE_REMOTE = 1: Int
```

A playback type indicating the presentation of the media is happening on a different device (i.e. the remote device) than where it is controlled from.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getPlaybackType()` |   |

### PLAYBACK_VOLUME_FIXED

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
const val PLAYBACK_VOLUME_FIXED = 0: Int
```

Playback information indicating the playback volume is fixed, i.e. it cannot be controlled from this object. An example of fixed playback volume is a remote player, playing over HDMI where the user prefers to control the volume on the HDMI sink, rather than attenuate at the source.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getVolumeHandling()` |   |

### PLAYBACK_VOLUME_VARIABLE

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
const val PLAYBACK_VOLUME_VARIABLE = 1: Int
```

Playback information indicating the playback volume is variable and can be controlled from this object.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getVolumeHandling()` |   |

## Public functions

### canDisconnect

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun canDisconnect(): Boolean
```

Gets whether this route supports disconnecting without interrupting playback.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if this route can disconnect without stopping playback, false otherwise. |

### connect

Added in [1.8.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.8.0)

```
@MainThread
fun connect(): Unit
```

Connects this route without selecting it.

A route may be selected or connected. Route selection is performed using the `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#select()` method. The media router library supports a single selected route which is typically the active playback device chosen by the user. This method enables connection to additional routes while maintaining the current route selection. If the specified route is already selected, this method has no effect.

The route controller dialog should display only the selected route, as this is the one users directly interact with. Connected routes are typically managed by the application in the background and are not generally relevant to the user.

After calling this method to connect a route, the application will receive the `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.Callback#onRouteConnected(androidx.mediarouter.media.MediaRouter,androidx.mediarouter.media.MediaRouter.RouteInfo,androidx.mediarouter.media.MediaRouter.RouteInfo)` callback when the connection is established. The connected `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo` can then be used to send control commands to the route. If the connection fails, the application receives the `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.Callback#onRouteDisconnected(androidx.mediarouter.media.MediaRouter,androidx.mediarouter.media.MediaRouter.RouteInfo,androidx.mediarouter.media.MediaRouter.RouteInfo,int)` callback with error details.

Must be called on the main thread.

### disconnect

Added in [1.8.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.8.0)

```
@MainThread
fun disconnect(): Unit
```

Disconnects this route.

If it is a connected route, then it will disconnect this route. If it is a selected route, disconnecting this route will do nothing.

After calling this method to disconnect a route, the application receives the `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.Callback#onRouteDisconnected(androidx.mediarouter.media.MediaRouter,androidx.mediarouter.media.MediaRouter.RouteInfo,androidx.mediarouter.media.MediaRouter.RouteInfo,int)` callback.

Must be called on the main thread.

### getConnectionState

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getConnectionState(): Int
```

Gets the connection state of the route.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The connection state of this route: `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#CONNECTION_STATE_DISCONNECTED()`, `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#CONNECTION_STATE_CONNECTING()`, or `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#CONNECTION_STATE_CONNECTED()`. |

### getControlFilters

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getControlFilters(): (Mutable)List<IntentFilter!>
```

Gets a list of `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` filters that describe the capabilities of this route and the media control actions that it supports.

| Returns |
|---|---|
| `(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/android/content/IntentFilter.html!>` | A list of intent filters that specifies the media control intents that this route supports. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` |   |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#supportsControlCategory(java.lang.String)` |   |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#supportsControlRequest(android.content.Intent)` |   |

### getDescription

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getDescription(): String?
```

Gets the user-visible description of the route.

The route description describes the kind of destination represented by the route. It may be a user-supplied string, a model number or brand of device.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | The description of the route, or null if none. |

### getDeviceType

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getDeviceType(): Int
```

Gets the type of the receiver device associated with this route.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The type of the receiver device associated with this route. |

### getExtras

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getExtras(): Bundle?
```

Gets a collection of extra properties about this route that were supplied by its media route provider, or null if none.

### getIconUri

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getIconUri(): Uri?
```

Gets the URI of the icon representing this route.

This icon will be used in picker UIs if available.

| Returns |
|---|---|
| `https://developer.android.com/reference/android/net/Uri.html?` | The URI of the icon representing this route, or null if none. |

### getId

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getId(): String
```

Gets the unique id of the route.

The route unique id functions as a stable identifier by which the route is known. For example, an application can use this id as a token to remember the selected route across restarts or to communicate its identity to a service.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The unique id of the route, never null. |

### getMediaRouteDescriptor

Added in [1.8.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.8.0)

```
fun getMediaRouteDescriptor(): MediaRouteDescriptor?
```

Returns the `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor` of this media route info or `null` if it is not updated by its provider yet.

### getName

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getName(): String
```

Gets the user-visible name of the route.

The route name identifies the destination represented by the route. It may be a user-supplied name, an alias, or device serial number.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The user-visible name of a media route. This is the string presented to users who may select this as the active route. |

### getPlaybackStream

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getPlaybackStream(): Int
```

Gets the audio stream over which the playback associated with this route is performed.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The stream over which the playback associated with this route is performed. |

### getPlaybackType

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getPlaybackType(): Int
```

Gets the type of playback associated with this route.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The type of playback associated with this route: `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_TYPE_LOCAL()` or `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_TYPE_REMOTE()`. |

### getPresentationDisplay

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun getPresentationDisplay(): Display?
```

Gets the `https://developer.android.com/reference/android/view/Display.html` that should be used by the application to show a `https://developer.android.com/reference/android/app/Presentation.html` on an external display when this route is selected. Depending on the route, this may only be valid if the route is currently selected.

The preferred presentation display may change independently of the route being selected or unselected. For example, the presentation display of the default system route may change when an external HDMI display is connected or disconnected even though the route itself has not changed.

This method may return null if there is no external display associated with the route or if the display is not ready to show UI yet.

The application should listen for changes to the presentation display using the `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.Callback#onRoutePresentationDisplayChanged(androidx.mediarouter.media.MediaRouter,androidx.mediarouter.media.MediaRouter.RouteInfo)` callback and show or dismiss its `https://developer.android.com/reference/android/app/Presentation.html` accordingly when the display becomes available or is removed.

This method only makes sense for `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent#CATEGORY_LIVE_VIDEO()` routes.

Must be called on the main thread.

| Returns |
|---|---|
| `https://developer.android.com/reference/android/view/Display.html?` | The preferred presentation display to use when this route is selected or null if none. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent#CATEGORY_LIVE_VIDEO()` |   |
| `https://developer.android.com/reference/android/app/Presentation.html` |   |

### getProvider

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getProvider(): MediaRouter.ProviderInfo
```

Gets information about the provider of this media route.

### getSettingsIntent

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getSettingsIntent(): IntentSender?
```

Gets an intent sender for launching a settings activity for this route.

### getVolume

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getVolume(): Int
```

Gets the current volume for this route. Depending on the route, this may only be valid if the route is currently selected.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The volume at which the playback associated with this route is performed. |

### getVolumeHandling

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getVolumeHandling(): Int
```

Gets information about how volume is handled on the route.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | How volume is handled on the route: `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_VOLUME_FIXED()` or `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_VOLUME_VARIABLE()`. |

### getVolumeMax

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun getVolumeMax(): Int
```

Gets the maximum volume at which the playback associated with this route is performed.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The maximum volume at which the playback associated with this route is performed. |

### isBluetooth

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun isBluetooth(): Boolean
```

Returns true if this route is a bluetooth route.

Must be called on the main thread.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if this route is a bluetooth route. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter#getBluetoothRoute()` |   |

### isConnecting

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun [isConnecting](https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#isConnecting())(): Boolean
```
| **This function is deprecated.**   
|
| use `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getConnectionState()` instead.

Returns true if the route is in the process of connecting and is not yet ready for use.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if this route is in the process of connecting. |

### isDefault

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun isDefault(): Boolean
```

Returns true if this route is the default route.

Must be called on the main thread.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if this route is the default route. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter#getDefaultRoute()` |   |

### isDeviceSpeaker

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun isDeviceSpeaker(): Boolean
```

Returns true if this route is the default route and the device speaker.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if this route is the default route and the device speaker. |

### isEnabled

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun isEnabled(): Boolean
```

Returns true if this route is enabled and may be selected.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if this route is enabled. |

### isSelected

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun isSelected(): Boolean
```

Returns true if this route is currently selected.

Only one representative route can return true. For instance:

- If this route is a selected (non-group) route, it returns true.
- If this route is a selected group route, it returns true.
- If this route is a selected member route of a group, it returns false.

Must be called on the main thread.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if this route is currently selected. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter#getSelectedRoute()` |   |

### isSystemRoute

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.7.0)

```
fun isSystemRoute(): Boolean
```

Returns `true` if this route is a system route.

System routes are routes controlled by the system, like the device's built-in speakers, wired headsets, and bluetooth devices.

To use system routes, your application should write media sample data to a media framework API, typically via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer`.

### matchesSelector

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun matchesSelector(selector: MediaRouteSelector): Boolean
```

Returns true if the route supports at least one of the capabilities described by a media route selector.

Must be called on the main thread.

| Parameters |
|---|---|
| `selector: https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteSelector` | The selector that specifies the capabilities to check. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if the route supports at least one of the capabilities described in the media route selector. |

### requestSetVolume

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun requestSetVolume(volume: Int): Unit
```

Requests a volume change for this route asynchronously.

This function may only be called on a selected route. It will have no effect if the route is currently unselected.

Must be called on the main thread.

| Parameters |
|---|---|
| `volume: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The new volume value between 0 and `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getVolumeMax()`. |

### requestUpdateVolume

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun requestUpdateVolume(delta: Int): Unit
```

Requests an incremental volume update for this route asynchronously.

This function may only be called on a selected route. It will have no effect if the route is currently unselected.

Must be called on the main thread.

| Parameters |
|---|---|
| `delta: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The delta to add to the current volume. |

### select

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun select(): Unit
```

Selects this media route.

Must be called on the main thread.

### sendControlRequest

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun sendControlRequest(
    intent: Intent,
    callback: MediaRouter.ControlRequestCallback?
): Unit
```

Sends a `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` request to be performed asynchronously by the route's destination.

Media control requests are used to request the route to perform actions such as starting remote playback of a media item.

This function may only be called on a selected route. Control requests sent to unselected routes will fail.

Must be called on the main thread.

| Parameters |
|---|---|
| `intent: https://developer.android.com/reference/android/content/Intent.html` | A `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent`. |
| `callback: https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.ControlRequestCallback?` | A `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.ControlRequestCallback` to invoke with the result of the request, or null if no result is required. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` |   |

### supportsControlAction

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun supportsControlAction(category: String, action: String): Boolean
```

Returns true if the route supports the specified `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` category and action.

Media control actions describe specific requests that an application can ask a route to perform.

Must be called on the main thread.

| Parameters |
|---|---|
| `category: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | A `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` category such as `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent#CATEGORY_LIVE_AUDIO()`, `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent#CATEGORY_LIVE_VIDEO()`, `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent#CATEGORY_REMOTE_PLAYBACK()`, or a provider-defined media control category. |
| `action: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | A `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` action such as `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent#ACTION_PLAY()`. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if the route supports the specified intent action. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` |   |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getControlFilters()` |   |

### supportsControlCategory

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun supportsControlCategory(category: String): Boolean
```

Returns true if the route supports the specified `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` category.

Media control categories describe the capabilities of this route such as whether it supports live audio streaming or remote playback.

Must be called on the main thread.

| Parameters |
|---|---|
| `category: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | A `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` category such as `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent#CATEGORY_LIVE_AUDIO()`, `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent#CATEGORY_LIVE_VIDEO()`, `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent#CATEGORY_REMOTE_PLAYBACK()`, or a provider-defined media control category. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if the route supports the specified intent category. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` |   |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getControlFilters()` |   |

### supportsControlRequest

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
@MainThread
fun supportsControlRequest(intent: Intent): Boolean
```

Returns true if the route supports the specified `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` request.

Media control requests are used to request the route to perform actions such as starting remote playback of a media item.

Must be called on the main thread.

| Parameters |
|---|---|
| `intent: https://developer.android.com/reference/android/content/Intent.html` | A `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent`. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if the route can handle the specified intent. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` |   |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#getControlFilters()` |   |

### toString

```
fun toString(): String
```