Skip to content

Video Player

ESM:
Use dark colors for code blocksCopy
1
import "@arcgis/map-components/components/arcgis-video-player";
CDN:
No specific import is needed for this component.
Since:ArcGIS Maps SDK for JavaScript 4.33

The Video Player component provides a user interface for interacting with a VideoLayer. It displays the original video content and provides controls for playing, pausing, seeking, and changing the video speed and quality.

The Video Player component provides the following capabilities:

  • Control operations (play, pause, seek)
  • Time and duration display
  • Customizable graphics colors
  • Following options (sensor, frame, video)
  • Adjustable speed and quality
  • Access to frame metadata

The VideoPlayerViewModel class provides the logic for the Video Player.

Known limitations

  • Not supported in 3D Scenes.
  • Not supported on macOS and iOS devices.

Example
Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<arcgis-map>
  <arcgis-video-player slot="top-right"></arcgis-video-player>
</arcgis-map>

<script type="module">
  const [Map, VideoLayer] = await $arcgis.import([
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/VideoLayer.js",
  ]);
  const viewElement = document.querySelector("arcgis-map");
  const videoPlayerElement = document.querySelector("arcgis-video-player");
  const videoLayer = new VideoLayer({
    url: "YOUR_VIDEO_LAYER_URL",
  });
  viewElement.map = new Map({
    basemap: "topo-vector",
    layers: [videoLayer],
  });
  await viewElement.viewOnReady();
  await videoLayer.load();
  if (videoLayer.loaded) {
    videoPlayerElement.layer = videoLayer;
  }
  await viewElement.whenLayerView(videoLayer);
  viewElement.goTo(videoLayer.fullExtent);
</script>

Properties

PropertyAttributeType
autoDestroyDisabledauto-destroy-disabledboolean
followingModefollowing-mode"follow-both" | "follow-frame" | "follow-sensor" | "none"
hideHeaderhide-headerboolean
iconiconstring
label
reflected
labelstring
layerVideoLayer
messageOverridesRecord<string, unknown>
position
deprecatedreflected
position"bottom-leading" | "bottom-left" | "bottom-right" | "bottom-trailing" | "manual" | "top-leading" | "top-left" | "top-right" | "top-trailing"
referenceElementreference-elementHTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string
state
readonlyreflected
state"can-play" | "data-loaded" | "error" | "not-ready" | "paused" | "playing" | "ready" | "waiting"
viewMapView

autoDestroyDisabled

Property
autoDestroyDisabled: boolean

If true, the component will not be destroyed automatically when it is disconnected from the document. This is useful when you want to move the component to a different place on the page, or temporarily hide it. If this is set, make sure to call the destroy method when you are done to prevent memory leaks.

Attribute
auto-destroy-disabled
Default value
false

followingMode

Property
followingMode: "follow-both" | "follow-frame" | "follow-sensor" | "none"

Determines which telemetry elements to follow when the video layer is playing.

Attribute
following-mode
Default value
"follow-both"

hideHeader

Property
hideHeader: boolean

Indicates whether to display the video player's header information.

Attribute
hide-header
Default value
false

icon

Property
icon: string

Icon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).

See also
Attribute
icon
Default value
"video-web"

label

reflected
Property
label: string

The component's default label.

Attribute
label

layer

Property
layer: VideoLayer

The VideoLayer to use as the data source for the video player.

Example
Use dark colors for code blocksCopy
1
2
// Create a new Video Player with a VideoLayer
videoPlayer.layer = videoLayer;
Default value
null

messageOverrides

Property
messageOverrides: Record<string, unknown>

Replace localized message strings with your own strings.

Note: Individual message keys may change between releases.

position

deprecatedreflected
Property
position: "bottom-leading" | "bottom-left" | "bottom-right" | "bottom-trailing" | "manual" | "top-leading" | "top-left" | "top-right" | "top-trailing"
Deprecatedsince 4.34, use slot instead.
Attribute
position

referenceElement

Property

By assigning the id attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.

See also
Attribute
reference-element

state

readonlyreflected
Property
state: "can-play" | "data-loaded" | "error" | "not-ready" | "paused" | "playing" | "ready" | "waiting"

The current state of the component.

Attribute
state

view

Property
view: MapView

The view associated with the component.

Note: The recommended approach is to fully migrate applications to use map and scene components and avoid using MapView and SceneView directly. However, if you are migrating a large application from widgets to components, you might prefer a more gradual transition. To support this use case, the SDK includes this view property which connects a component to a MapView or SceneView. Ultimately, once migration is complete, the Video Player component will be associated with a map or scene component rather than using the view property.

Default value
null

Methods

MethodSignature
componentOnReadycomponentOnReady(): Promise<void>
destroydestroy(): Promise<void>

componentOnReady

Method
componentOnReady(): Promise<void>

Create a promise that resolves once component is fully loaded.

Example
Use dark colors for code blocksCopy
1
2
3
4
const arcgisVideoPlayer = document.querySelector("arcgis-video-player");
document.body.append(arcgisVideoPlayer);
await arcgisVideoPlayer.componentOnReady();
console.log("arcgis-video-player is ready to go!");
Returns
Promise<void>

destroy

Method
destroy(): Promise<void>

Permanently destroy the component.

Returns
Promise<void>

Events

arcgisPropertyChange

Event
arcgisPropertyChange: CustomEvent<{ name: "state" | "layer"; }>

Emitted when the value of a property is changed. Use this to listen to changes to properties.

bubbles
composed
cancelable

arcgisReady

Event
arcgisReady: CustomEvent<void>

Emitted when the component associated with a map or scene view is ready to be interacted with.

bubbles
composed
cancelable

arcgisVideoReady

Event
arcgisVideoReady: CustomEvent<void>
bubbles
composed
cancelable

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.