# CastingVideoPlayerDevice

# CastingVideoPlayerDevice


```
class CastingVideoPlayerDevice : DeviceType
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |||
| ↳ | [com.google.home.DeviceType](https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType) ||
|   | ↳ | [com.google.home.matter.standard.CastingVideoPlayerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice) |

*** ** * ** ***

A device that is able to play media to a physical output or to a display screen which is part of the device, and is able to launch content. It has basic controls for playback (such as play or pause) and keypad input (up, down, number input).

## Summary

| ### Nested types |
|---|
| `class https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice.StandardTraits` Trait Container for CastingVideoPlayerDevice Standard Traits. |

| ### Public constructors |
|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice#CastingVideoPlayerDevice(com.google.home.DeviceType.Metadata,com.google.home.TraitProvider,com.google.home.HasEvents,com.google.home.HasParts,com.google.home.matter.standard.CastingVideoPlayerDevice.StandardTraits)( metadata: https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType.Metadata, traitProvider: https://developers.home.google.com/reference/kotlin/com/google/home/TraitProvider, eventProvider: https://developers.home.google.com/reference/kotlin/com/google/home/HasEvents, partsProvider: https://developers.home.google.com/reference/kotlin/com/google/home/HasParts, standardTraits: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice.StandardTraits )` Creates the CastingVideoPlayerDevice class. |

| ### Public properties |
|---|---|
| `open https://developers.home.google.com/reference/kotlin/com/google/home/DeviceTypeFactory<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice#factory()` |
| `open https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType.Metadata` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice#metadata()` |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice.StandardTraits` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice#standardTraits()` |

| ### Inherited functions |
|---|
| From [com.google.home.HasEvents](https://developers.home.google.com/reference/kotlin/com/google/home/HasEvents) |---|---| | `open https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/Event>` | `https://developers.home.google.com/reference/kotlin/com/google/home/HasEvents#events()()` Gets a flow of all Events available for the object. | | `open https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event> https://developers.home.google.com/reference/kotlin/com/google/home/HasEvents#events(com.google.home.EventFactory)(event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T>)` Gets a flow of a specific Event. | | `open https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/Event>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Trait> https://developers.home.google.com/reference/kotlin/com/google/home/HasEvents#events(com.google.home.TraitFactory)(trait: https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory<T>)` Gets a flow of all Events by this `https://developers.home.google.com/reference/kotlin/com/google/home/Trait`. | |
| From [com.google.home.HasParts](https://developers.home.google.com/reference/kotlin/com/google/home/HasParts) |---|---| | `open T` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType> https://developers.home.google.com/reference/kotlin/com/google/home/HasParts#part(com.google.home.DeviceTypeFactory,kotlin.Array)(type: https://developers.home.google.com/reference/kotlin/com/google/home/DeviceTypeFactory<T>, vararg tags: https://developers.home.google.com/reference/kotlin/com/google/home/Tag)` Returns the first part that matches the given type and tags. | | `open T?` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType> https://developers.home.google.com/reference/kotlin/com/google/home/HasParts#partOrNull(com.google.home.DeviceTypeFactory,kotlin.Array)(type: https://developers.home.google.com/reference/kotlin/com/google/home/DeviceTypeFactory<T>, vararg tags: https://developers.home.google.com/reference/kotlin/com/google/home/Tag)` Returns the first part that matches the given type and tags. | |
| From [com.google.home.TraitProvider](https://developers.home.google.com/reference/kotlin/com/google/home/TraitProvider) |---|---| | `open https://developers.home.google.com/reference/kotlin/com/google/home/Trait.TraitMetadata?` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Trait> https://developers.home.google.com/reference/kotlin/com/google/home/TraitProvider#metadata(com.google.home.TraitFactory)(traitFactory: https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory<T>)` Access a specific trait metadata on the provider given a caller-provided TraitFactory. | | `open T?` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Trait> https://developers.home.google.com/reference/kotlin/com/google/home/TraitProvider#trait(com.google.home.TraitFactory)(traitFactory: https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory<T>)` Access a specific trait on the provider given a caller-provided TraitFactory. | | `open https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/Trait>` | `https://developers.home.google.com/reference/kotlin/com/google/home/TraitProvider#traits()()` Given a similar accessible trait set as the function above, returns a subset of those traits that are present in the associated `https://developers.home.google.com/reference/kotlin/com/google/home/HomeConfig#factoryRegistry()` union'ed with those already known to the extended sub-class (e.g specific DeviceType that is aware of the set of `https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory`s specified in its type definition). | |

| ### Inherited properties |
|---|
| From [com.google.home.DeviceType](https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType) |---|---| | `https://developers.home.google.com/reference/kotlin/com/google/home/TraitProvider` | `https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType#traitProvider()` | |
| From [com.google.home.HasParts](https://developers.home.google.com/reference/kotlin/com/google/home/HasParts) |---|---| | `open https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType>` | `https://developers.home.google.com/reference/kotlin/com/google/home/HasParts#parts()` The parts of this object represented as a set of device types. | |

## Public constructors

### CastingVideoPlayerDevice

```
CastingVideoPlayerDevice(
    metadata: DeviceType.Metadata,
    traitProvider: TraitProvider,
    eventProvider: HasEvents,
    partsProvider: HasParts,
    standardTraits: CastingVideoPlayerDevice.StandardTraits
)
```

Creates the CastingVideoPlayerDevice class.

## Public properties

### factory

```
open val factory: DeviceTypeFactory<CastingVideoPlayerDevice>
```

### metadata

```
open val metadata: DeviceType.Metadata
```

### standardTraits

```
val standardTraits: CastingVideoPlayerDevice.StandardTraits
```