Class: XRDeviceCamera
Defined in: src/camera/XRDeviceCamera.ts:26
Handles video capture from a device camera, manages the device list, and reports its state using VideoStream's event model.
Extends
VideoStream<XRDeviceCameraDetails>
Constructors
Constructor
new XRDeviceCamera(
options):XRDeviceCamera
Defined in: src/camera/XRDeviceCamera.ts:37
Parameters
options
Partial<DeviceCameraOptions> = {}
The configuration options.
Returns
XRDeviceCamera
Overrides
Properties
aspectRatio?
optionalaspectRatio:number
Defined in: src/video/VideoStream.ts:53
Inherited from
height?
optionalheight:number
Defined in: src/video/VideoStream.ts:52
Inherited from
isXRScript
isXRScript:
boolean=true
Defined in: src/core/Script.ts:54
Inherited from
loaded
loaded:
boolean=false
Defined in: src/video/VideoStream.ts:50
Inherited from
simulatorCamera?
optionalsimulatorCamera:SimulatorCamera
Defined in: src/camera/XRDeviceCamera.ts:27
state
state:
StreamState=StreamState.IDLE
Defined in: src/video/VideoStream.ts:55
Inherited from
stream_
protectedstream_:null|MediaStream=null
Defined in: src/video/VideoStream.ts:57
Inherited from
texture
texture:
VideoTexture
Defined in: src/video/VideoStream.ts:54
Inherited from
ux
ux:
UX
Defined in: src/core/Script.ts:53
Inherited from
video_
protectedvideo_:HTMLVideoElement
Defined in: src/video/VideoStream.ts:58
Inherited from
videoConstraints_
protectedvideoConstraints_:MediaTrackConstraints
Defined in: src/camera/XRDeviceCamera.ts:28
width?
optionalwidth:number
Defined in: src/video/VideoStream.ts:51
Inherited from
Methods
dispose()
dispose():
void
Defined in: src/video/VideoStream.ts:224
Disposes of all resources used by this stream.
Returns
void
Inherited from
getAvailableDevices()
getAvailableDevices():
MediaOrSimulatorMediaDeviceInfo[]
Defined in: src/camera/XRDeviceCamera.ts:225
Gets the list of enumerated video devices.
Returns
MediaOrSimulatorMediaDeviceInfo[]
getAvailableVideoDevices()
getAvailableVideoDevices():
Promise<MediaOrSimulatorMediaDeviceInfo[]>
Defined in: src/camera/XRDeviceCamera.ts:50
Retrieves the list of available video input devices.
Returns
Promise<MediaOrSimulatorMediaDeviceInfo[]>
A promise that resolves with an array of video devices.
getCurrentDevice()
getCurrentDevice():
undefined|MediaOrSimulatorMediaDeviceInfo
Defined in: src/camera/XRDeviceCamera.ts:232
Gets the currently active device info, if available.
Returns
undefined | MediaOrSimulatorMediaDeviceInfo
getCurrentDeviceIndex()
getCurrentDeviceIndex():
number
Defined in: src/camera/XRDeviceCamera.ts:249
Gets the index of the currently active device.
Returns
number
getCurrentTrackSettings()
getCurrentTrackSettings():
undefined|MediaTrackSettings
Defined in: src/camera/XRDeviceCamera.ts:242
Gets the settings of the currently active video track.
Returns
undefined | MediaTrackSettings
getSnapshot()
getSnapshot(
options):null|string|Texture<unknown> |ImageData
Defined in: src/video/VideoStream.ts:140
Captures the current video frame.
Parameters
options
VideoStreamGetSnapshotOptions = {}
The options for the snapshot.
Returns
null | string | Texture<unknown> | ImageData
The captured data.
Inherited from
handleVideoStreamLoadedMetadata()
protectedhandleVideoStreamLoadedMetadata(resolve,reject,allowRetry):void
Defined in: src/video/VideoStream.ts:106
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/camera/XRDeviceCamera.ts:70
Initializes the camera based on the initial constraints.
Returns
Promise<void>
Overrides
initPhysics()
initPhysics(
_physics):void|Promise<void>
Defined in: src/core/Script.ts:73
Enables depth-aware interactions with physics. See /demos/ballpit
Parameters
_physics
Returns
void | Promise<void>
Inherited from
initStream_()
protectedinitStream_():Promise<void>
Defined in: src/camera/XRDeviceCamera.ts:93
Initializes the media stream from the user's camera. After the stream starts, it updates the current device index based on the stream's active track.
Returns
Promise<void>
onHoverEnter()
onHoverEnter(
_controller):void
Defined in: src/core/Script.ts:158
Called when the controller starts hovering over this object with reticle.
Parameters
_controller
An XR controller.
Returns
void
Inherited from
onHoverExit()
onHoverExit(
_controller):void
Defined in: src/core/Script.ts:163
Called when the controller hovers over this object with reticle.
Parameters
_controller
An XR controller.
Returns
void
Inherited from
onHovering()
onHovering(
_controller):void
Defined in: src/core/Script.ts:168
Called when the controller hovers over this object with reticle.
Parameters
_controller
An XR controller.
Returns
void
Inherited from
onKeyDown()
onKeyDown(
_event):void
Defined in: src/core/Script.ts:110
Called on keyboard keypress.
Parameters
_event
Event containing .code to read the keyboard key.
Returns
void
Inherited from
onKeyUp()
onKeyUp(
_event):void
Defined in: src/core/Script.ts:111
Parameters
_event
Returns
void
Inherited from
onObjectGrabbing()
onObjectGrabbing(
_event):void
Defined in: src/core/Script.ts:188
Called every frame a hand is grabbing this object.
Parameters
_event
Returns
void
Inherited from
onObjectGrabEnd()
onObjectGrabEnd(
_event):void
Defined in: src/core/Script.ts:192
Called when a hand stops grabbing this object.
Parameters
_event
Returns
void
Inherited from
onObjectGrabStart()
onObjectGrabStart(
_event):void
Defined in: src/core/Script.ts:184
Called when a hand starts grabbing this object (touching + pinching).
Parameters
_event
Returns
void
Inherited from
onObjectSelectEnd()
onObjectSelectEnd(
_event):boolean
Defined in: src/core/Script.ts:151
Called when the controller stops selecting this object the script represents, e.g. View, ModelView.
Parameters
_event
event.target holds its controller.
Returns
boolean
Whether the event was handled
Inherited from
onObjectSelectStart()
onObjectSelectStart(
_event):boolean
Defined in: src/core/Script.ts:142
Called when the controller starts selecting this object the script represents, e.g. View, ModelView.
Parameters
_event
event.target holds its controller.
Returns
boolean
Whether the event was handled
Inherited from
VideoStream.onObjectSelectStart
onObjectTouchEnd()
onObjectTouchEnd(
_event):void
Defined in: src/core/Script.ts:180
Called when a hand's index finger stops touching this object.
Parameters
_event
Returns
void
Inherited from
onObjectTouching()
onObjectTouching(
_event):void
Defined in: src/core/Script.ts:176
Called every frame that a hand's index finger is touching this object.
Parameters
_event
Returns
void
Inherited from
onObjectTouchStart()
onObjectTouchStart(
_event):void
Defined in: src/core/Script.ts:172
Called when a hand's index finger starts touching this object.
Parameters
_event
Returns
void
Inherited from
VideoStream.onObjectTouchStart
onSelect()
onSelect(
_event):void
Defined in: src/core/Script.ts:99
Called whenever pinch / mouse click successfully completes, globally.
Parameters
_event
event.target holds its controller.
Returns
void
Inherited from
onSelectEnd()
onSelectEnd(
_event):void
Defined in: src/core/Script.ts:93
Called whenever pinch / mouse click discontinues, globally.
Parameters
_event
event.target holds its controller
Returns
void
Inherited from
onSelecting()
onSelecting(
_event):void
Defined in: src/core/Script.ts:104
Called whenever pinch / mouse click is happening, globally.
Parameters
_event
Returns
void
Inherited from
onSelectStart()
onSelectStart(
_event):void
Defined in: src/core/Script.ts:87
Called whenever pinch / mouse click starts, globally.
Parameters
_event
event.target holds its controller
Returns
void
Inherited from
onSimulatorStarted()
onSimulatorStarted():
void
Defined in: src/core/Script.ts:79
Returns
void
Inherited from
VideoStream.onSimulatorStarted
onSqueeze()
onSqueeze(
_event):void
Defined in: src/core/Script.ts:133
Called whenever gamepad trigger successfully completes, globally.
Parameters
_event
event.target holds its controller.
Returns
void
Inherited from
onSqueezeEnd()
onSqueezeEnd(
_event):void
Defined in: src/core/Script.ts:122
Called whenever gamepad trigger stops, globally.
Parameters
_event
event.target holds its controller.
Returns
void
Inherited from
onSqueezeStart()
onSqueezeStart(
_event):void
Defined in: src/core/Script.ts:117
Called whenever gamepad trigger starts, globally.
Parameters
_event
event.target holds its controller.
Returns
void
Inherited from
onSqueezing()
onSqueezing(
_event):void
Defined in: src/core/Script.ts:127
Called whenever gamepad is being triggered, globally.
Parameters
_event
Returns
void
Inherited from
onXRSessionEnded()
onXRSessionEnded():
void
Defined in: src/core/Script.ts:77
Returns
void
Inherited from
onXRSessionStarted()
onXRSessionStarted(
_session?):void
Defined in: src/core/Script.ts:76
Parameters
_session?
Returns
void
Inherited from
VideoStream.onXRSessionStarted
physicsStep()
physicsStep():
void
Defined in: src/core/Script.ts:74
Returns
void
Inherited from
registerSimulatorCamera()
registerSimulatorCamera(
simulatorCamera):void
Defined in: src/camera/XRDeviceCamera.ts:253
Parameters
simulatorCamera
Returns
void
setDeviceId()
setDeviceId(
deviceId):Promise<void>
Defined in: src/camera/XRDeviceCamera.ts:195
Sets the active camera by its device ID. Removes potentially conflicting constraints such as facingMode.
Parameters
deviceId
string
Device id.
Returns
Promise<void>
setFacingMode()
setFacingMode(
facingMode):Promise<void>
Defined in: src/camera/XRDeviceCamera.ts:215
Sets the active camera by its facing mode ('user' or 'environment').
Parameters
facingMode
VideoFacingModeEnum
facing mode
Returns
Promise<void>
setState_()
protectedsetState_(state,details):void
Defined in: src/video/VideoStream.ts:87
Sets the stream's state and dispatches a 'statechange' event.
Parameters
state
The new state.
details
Additional data for the event payload.
VideoStreamDetails | XRDeviceCameraDetails
Returns
void
Inherited from
stop_()
protectedstop_():void
Defined in: src/video/VideoStream.ts:205
Stops the current video stream tracks.
Returns
void
Inherited from
update()
update(
_time?,_frame?):void
Defined in: src/core/Script.ts:68
Runs per frame.
Parameters
_time?
number
_frame?
Returns
void