Skip to main content

Class: VideoFileStream

Defined in: src/video/VideoFileStream.ts:23

VideoFileStream handles video playback from a file source.

Extends

Constructors

Constructor

new VideoFileStream(options): VideoFileStream

Defined in: src/video/VideoFileStream.ts:29

Parameters

options

Configuration for the file stream.

videoFile?

undefined = undefined

willCaptureFrequently?

boolean = false

Returns

VideoFileStream

Overrides

VideoStream.constructor

Properties

aspectRatio?

optional aspectRatio: number

Defined in: src/video/VideoStream.ts:86

Inherited from

VideoStream.aspectRatio


height?

optional height: number

Defined in: src/video/VideoStream.ts:85

Inherited from

VideoStream.height


isXRScript

isXRScript: boolean = true

Defined in: src/core/Script.ts:99

Inherited from

VideoStream.isXRScript


loaded

loaded: boolean = false

Defined in: src/video/VideoStream.ts:83

Inherited from

VideoStream.loaded


state

state: StreamState = StreamState.IDLE

Defined in: src/video/VideoStream.ts:88

Inherited from

VideoStream.state


stream_

protected stream_: MediaStream | null = null

Defined in: src/video/VideoStream.ts:90

Inherited from

VideoStream.stream_


texture

texture: Texture

Defined in: src/video/VideoStream.ts:87

Inherited from

VideoStream.texture


video_

protected video_: HTMLVideoElement

Defined in: src/video/VideoStream.ts:91

Inherited from

VideoStream.video_


width?

optional width: number

Defined in: src/video/VideoStream.ts:84

Inherited from

VideoStream.width


xb?

optional xb: XBObjectOptions

Defined in: src/interaction/InteractionTypes.ts:32

Inherited from

VideoStream.xb

Accessors

video

Get Signature

get video(): HTMLVideoElement

Defined in: src/video/VideoStream.ts:92

Returns

HTMLVideoElement

Inherited from

VideoStream.video

Methods

dispose()

dispose(): void

Defined in: src/video/VideoStream.ts:286

Disposes of all resources used by this stream.

Returns

void

Inherited from

VideoStream.dispose


getSnapshot()

Call Signature

getSnapshot(options): ImageData

Defined in: src/video/VideoStream.ts:187

Captures the current video frame.

Parameters
options

VideoStreamGetSnapshotImageDataOptions

The options for the snapshot.

Returns

ImageData

The captured data.

Inherited from

VideoStream.getSnapshot

Call Signature

getSnapshot(options): Promise<string | null>

Defined in: src/video/VideoStream.ts:188

Captures the current video frame.

Parameters
options

VideoStreamGetSnapshotBase64Options

The options for the snapshot.

Returns

Promise<string | null>

The captured data.

Inherited from

VideoStream.getSnapshot

Call Signature

getSnapshot(options): Texture

Defined in: src/video/VideoStream.ts:191

Captures the current video frame.

Parameters
options

VideoStreamGetSnapshotTextureOptions

The options for the snapshot.

Returns

Texture

The captured data.

Inherited from

VideoStream.getSnapshot

Call Signature

getSnapshot(options): Promise<Blob | null>

Defined in: src/video/VideoStream.ts:192

Captures the current video frame.

Parameters
options

VideoStreamGetSnapshotBlobOptions

The options for the snapshot.

Returns

Promise<Blob | null>

The captured data.

Inherited from

VideoStream.getSnapshot


handleVideoStreamLoadedMetadata()

protected handleVideoStreamLoadedMetadata(resolve, reject, allowRetry): void

Defined in: src/video/VideoStream.ts:153

Processes video metadata, sets dimensions, and resolves a promise.

Parameters

resolve

() => void

The resolve function of the wrapping Promise.

reject

(_) => void

The reject function of the wrapping Promise.

allowRetry

boolean = false

Whether to allow a retry attempt on failure.

Returns

void

Inherited from

VideoStream.handleVideoStreamLoadedMetadata


init()

init(): Promise<void>

Defined in: src/video/VideoFileStream.ts:37

Initializes the file stream based on the given video file.

Returns

Promise<void>

Overrides

VideoStream.init


initPhysics()

initPhysics(_physics): void | Promise<void>

Defined in: src/core/Script.ts:118

Enables depth-aware interactions with physics. See /samples/advanced/ballpit

Parameters

_physics

Physics

Returns

void | Promise<void>

Inherited from

VideoStream.initPhysics


initStream_()

protected initStream_(): Promise<void>

Defined in: src/video/VideoFileStream.ts:51

Initializes the video stream from the provided file.

Returns

Promise<void>


onHoverEnter()

onHoverEnter(_event): void

Defined in: src/core/Script.ts:215

Called when a source starts hovering over this object.

Parameters

_event

HoverEvent

The hover source, target, surface, and intersection. Call event.stopPropagation() to stop bubbling to ancestor Scripts.

Returns

void

Inherited from

VideoStream.onHoverEnter


onHoverExit()

onHoverExit(_event): void

Defined in: src/core/Script.ts:221

Called when a source stops hovering over this object.

Parameters

_event

HoverEvent

The hover source, target, surface, and intersection. Call event.stopPropagation() to stop bubbling to ancestor Scripts.

Returns

void

Inherited from

VideoStream.onHoverExit


onHovering()

onHovering(_event): void

Defined in: src/core/Script.ts:227

Called while a source hovers over this object.

Parameters

_event

HoverEvent

The hover source, target, surface, and intersection. Call event.stopPropagation() to stop bubbling to ancestor Scripts.

Returns

void

Inherited from

VideoStream.onHovering


onKeyDown()

onKeyDown(_event): void

Defined in: src/core/Script.ts:158

Called on keyboard keypress.

Parameters

_event

KeyEvent

Event containing .code to read the keyboard key.

Returns

void

Inherited from

VideoStream.onKeyDown


onKeyUp()

onKeyUp(_event): void

Defined in: src/core/Script.ts:159

Parameters

_event

KeyEvent

Returns

void

Inherited from

VideoStream.onKeyUp


onLongSelect()

onLongSelect(_event): void

Defined in: src/core/Script.ts:152

Called when an object selection reaches the long-select delay.

Parameters

_event

LongSelectEvent

Returns

void

Inherited from

VideoStream.onLongSelect


onObjectGrabbing()

onObjectGrabbing(_event): void

Defined in: src/core/Script.ts:253

Called every frame a hand is grabbing this object.

Parameters

_event

ObjectGrabEvent

Returns

void

Inherited from

VideoStream.onObjectGrabbing


onObjectGrabEnd()

onObjectGrabEnd(_event): void

Defined in: src/core/Script.ts:258

Called when a hand stops grabbing this object. This ends built-in direct-touch manipulation without ending contact.

Parameters

_event

ObjectGrabEvent

Returns

void

Inherited from

VideoStream.onObjectGrabEnd


onObjectGrabStart()

onObjectGrabStart(_event): void

Defined in: src/core/Script.ts:249

Called when a hand starts grabbing this object (touching + pinching). A grab starts built-in direct-touch manipulation when enabled.

Parameters

_event

ObjectGrabEvent

Returns

void

Inherited from

VideoStream.onObjectGrabStart


onObjectLongSelect()

onObjectLongSelect(_event): void

Defined in: src/core/Script.ts:203

Called once when a captured selection is held for the long-select delay. Manipulation captures do not emit this callback.

Parameters

_event

LongSelectEvent

The controller and completed hold duration. Call event.stopPropagation() to stop bubbling to ancestor Scripts.

Returns

void

Inherited from

VideoStream.onObjectLongSelect


onObjectManipulate()

onObjectManipulate(_event): void

Defined in: src/core/Script.ts:209

Called for each phase of an automatic object manipulation. Call event.stopPropagation() to stop bubbling. Calling preventDefault() on a start event suppresses the automatic action.

Parameters

_event

ManipulationEvent

Returns

void

Inherited from

VideoStream.onObjectManipulate


onObjectSelectEnd()

onObjectSelectEnd(_event): void

Defined in: src/core/Script.ts:196

Called when a source stops selecting the object this Script represents.

Parameters

_event

SelectEndEvent

The completed state and end reason. Call event.stopPropagation() to stop bubbling to ancestor Scripts.

Returns

void

Inherited from

VideoStream.onObjectSelectEnd


onObjectSelectStart()

onObjectSelectStart(_event): void

Defined in: src/core/Script.ts:190

Called when a source starts selecting the object this Script represents.

Parameters

_event

SelectEvent

event.target is the logical object and event.source.controller identifies the controller. Call event.stopPropagation() to stop bubbling to ancestor Scripts.

Returns

void

Inherited from

VideoStream.onObjectSelectStart


onObjectTouchEnd()

onObjectTouchEnd(_event): void

Defined in: src/core/Script.ts:244

Called when a hand's index finger stops touching this object. This ends the default selection lifecycle after the touch callback.

Parameters

_event

ObjectTouchEvent

Returns

void

Inherited from

VideoStream.onObjectTouchEnd


onObjectTouching()

onObjectTouching(_event): void

Defined in: src/core/Script.ts:239

Called every frame that a hand's index finger is touching this object. The object remains selected during these frames unless touch selection was prevented when contact started.

Parameters

_event

ObjectTouchEvent

Returns

void

Inherited from

VideoStream.onObjectTouching


onObjectTouchStart()

onObjectTouchStart(_event): void

Defined in: src/core/Script.ts:233

Called when a hand's index finger starts touching this object. Direct touch starts the object's selection lifecycle by default. Call event.preventDefault() to handle contact without selecting.

Parameters

_event

ObjectTouchStartEvent

Returns

void

Inherited from

VideoStream.onObjectTouchStart


onSelect()

onSelect(_event): void

Defined in: src/core/Script.ts:144

Called whenever pinch / mouse click successfully completes, globally.

Parameters

_event

SelectEvent

The interaction source and completed target.

Returns

void

Inherited from

VideoStream.onSelect


onSelectEnd()

onSelectEnd(_event): void

Defined in: src/core/Script.ts:138

Called whenever pinch / mouse click discontinues, globally.

Parameters

_event

SelectEndEvent

The completed state and end reason.

Returns

void

Inherited from

VideoStream.onSelectEnd


onSelecting()

onSelecting(_event): void

Defined in: src/core/Script.ts:149

Called whenever pinch / mouse click is happening, globally.

Parameters

_event

SelectEvent

Returns

void

Inherited from

VideoStream.onSelecting


onSelectStart()

onSelectStart(_event): void

Defined in: src/core/Script.ts:132

Called whenever pinch / mouse click starts, globally.

Parameters

_event

SelectEvent

The interaction source and optional captured target.

Returns

void

Inherited from

VideoStream.onSelectStart


onSimulatorStarted()

onSimulatorStarted(): void

Defined in: src/core/Script.ts:124

Returns

void

Inherited from

VideoStream.onSimulatorStarted


onSqueeze()

onSqueeze(_event): void

Defined in: src/core/Script.ts:181

Called whenever gamepad trigger successfully completes, globally.

Parameters

_event

SelectEvent

event.source.controller identifies the controller.

Returns

void

Inherited from

VideoStream.onSqueeze


onSqueezeEnd()

onSqueezeEnd(_event): void

Defined in: src/core/Script.ts:170

Called whenever gamepad trigger stops, globally.

Parameters

_event

SelectEvent

event.source.controller identifies the controller.

Returns

void

Inherited from

VideoStream.onSqueezeEnd


onSqueezeStart()

onSqueezeStart(_event): void

Defined in: src/core/Script.ts:165

Called whenever gamepad trigger starts, globally.

Parameters

_event

SelectEvent

event.source.controller identifies the controller.

Returns

void

Inherited from

VideoStream.onSqueezeStart


onSqueezing()

onSqueezing(_event): void

Defined in: src/core/Script.ts:175

Called whenever gamepad is being triggered, globally.

Parameters

_event

SelectEvent

Returns

void

Inherited from

VideoStream.onSqueezing


onXRSessionEnded()

onXRSessionEnded(): void

Defined in: src/core/Script.ts:122

Returns

void

Inherited from

VideoStream.onXRSessionEnded


onXRSessionStarted()

onXRSessionStarted(_session?): void

Defined in: src/core/Script.ts:121

Parameters

_session?

XRSession

Returns

void

Inherited from

VideoStream.onXRSessionStarted


physicsStep()

physicsStep(): void

Defined in: src/core/Script.ts:119

Returns

void

Inherited from

VideoStream.physicsStep


setSource()

setSource(videoFile): Promise<void>

Defined in: src/video/VideoFileStream.ts:91

Sets a new video file source and re-initializes the stream.

Parameters

videoFile

The new video file to play.

string | File

Returns

Promise<void>


setState_()

protected setState_(state, details): void

Defined in: src/video/VideoStream.ts:134

Sets the stream's state and dispatches a 'statechange' event.

Parameters

state

StreamState

The new state.

details

Additional data for the event payload.

VideoStreamDetails | VideoFileStreamDetails

Returns

void

Inherited from

VideoStream.setState_


stop_()

protected stop_(): void

Defined in: src/video/VideoStream.ts:267

Stops the current video stream tracks.

Returns

void

Inherited from

VideoStream.stop_


update()

update(_time?, _frame?): void

Defined in: src/core/Script.ts:113

Runs per frame.

Parameters

_time?

number

_frame?

XRFrame

Returns

void

Inherited from

VideoStream.update