Class: XRDeviceCamera
Defined in: src/camera/XRDeviceCamera.ts:21
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:32
Parameters
options
Partial
<DeviceCameraOptions
> = {}
The configuration options.
Returns
XRDeviceCamera
Overrides
Properties
aspectRatio?
optional
aspectRatio:number
Defined in: src/video/VideoStream.ts:53
Inherited from
height?
optional
height:number
Defined in: src/video/VideoStream.ts:52
Inherited from
isXRScript
isXRScript:
boolean
=true
Defined in: src/core/Script.ts:53
Inherited from
loaded
loaded:
boolean
=false
Defined in: src/video/VideoStream.ts:50
Inherited from
simulatorCamera?
optional
simulatorCamera:SimulatorCamera
Defined in: src/camera/XRDeviceCamera.ts:22
state
state:
StreamState
=StreamState.IDLE
Defined in: src/video/VideoStream.ts:55
Inherited from
stream_
protected
stream_: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:52
Inherited from
video_
protected
video_:HTMLVideoElement
Defined in: src/video/VideoStream.ts:58
Inherited from
videoConstraints_
protected
videoConstraints_:MediaTrackConstraints
Defined in: src/camera/XRDeviceCamera.ts:23
width?
optional
width:number
Defined in: src/video/VideoStream.ts:51
Inherited from
Methods
dispose()
dispose():
void
Defined in: src/video/VideoStream.ts:207
Disposes of all resources used by this stream.
Returns
void
Inherited from
getAvailableDevices()
getAvailableDevices():
MediaOrSimulatorMediaDeviceInfo
[]
Defined in: src/camera/XRDeviceCamera.ts:210
Gets the list of enumerated video devices.
Returns
MediaOrSimulatorMediaDeviceInfo
[]
getAvailableVideoDevices()
getAvailableVideoDevices():
Promise
<MediaOrSimulatorMediaDeviceInfo
[]>
Defined in: src/camera/XRDeviceCamera.ts:45
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:217
Gets the currently active device info, if available.
Returns
undefined
| MediaOrSimulatorMediaDeviceInfo
getCurrentDeviceIndex()
getCurrentDeviceIndex():
number
Defined in: src/camera/XRDeviceCamera.ts:234
Gets the index of the currently active device.
Returns
number
getCurrentTrackSettings()
getCurrentTrackSettings():
undefined
|MediaTrackSettings
Defined in: src/camera/XRDeviceCamera.ts:227
Gets the settings of the currently active video track.
Returns
undefined
| MediaTrackSettings
getSnapshot()
Defined in: src/video/VideoStream.ts:133
Captures the current video frame.
Parameters
options
VideoStreamGetSnapshotOptions
= {}
The options for the snapshot.
Returns
null
| string
| Texture
| ImageData
The captured data.
Inherited from
handleVideoStreamLoadedMetadata()
protected
handleVideoStreamLoadedMetadata(resolve
,reject
,allowRetry
):void
Defined in: src/video/VideoStream.ts:102
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:63
Initializes the camera based on the initial constraints.
Returns
Promise
<void
>
Overrides
initPhysics()
initPhysics(
_physics
):void
|Promise
<void
>
Defined in: src/core/Script.ts:72
Enables depth-aware interactions with physics. See /demos/ballpit
Parameters
_physics
Returns
void
| Promise
<void
>
Inherited from
initStream_()
protected
initStream_():Promise
<void
>
Defined in: src/camera/XRDeviceCamera.ts:86
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:157
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:162
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:167
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:109
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:110
Parameters
_event
Returns
void
Inherited from
onObjectGrabbing()
onObjectGrabbing(
_event
):void
Defined in: src/core/Script.ts:187
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:191
Called when a hand stops grabbing this object.
Parameters
_event
Returns
void
Inherited from
onObjectGrabStart()
onObjectGrabStart(
_event
):void
Defined in: src/core/Script.ts:183
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:150
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:141
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:179
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:175
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:171
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:98
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:92
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:103
Called whenever pinch / mouse click is happening, globally.
Parameters
_event
Returns
void
Inherited from
onSelectStart()
onSelectStart(
_event
):void
Defined in: src/core/Script.ts:86
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:78
Returns
void
Inherited from
VideoStream
.onSimulatorStarted
onSqueeze()
onSqueeze(
_event
):void
Defined in: src/core/Script.ts:132
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:121
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:116
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:126
Called whenever gamepad is being triggered, globally.
Parameters
_event
Returns
void
Inherited from
onXRSessionEnded()
onXRSessionEnded():
void
Defined in: src/core/Script.ts:76
Returns
void
Inherited from
onXRSessionStarted()
onXRSessionStarted(
_session?
):void
Defined in: src/core/Script.ts:75
Parameters
_session?
Returns
void
Inherited from
VideoStream
.onXRSessionStarted
physicsStep()
physicsStep():
void
Defined in: src/core/Script.ts:73
Returns
void
Inherited from
registerSimulatorCamera()
registerSimulatorCamera(
simulatorCamera
):void
Defined in: src/camera/XRDeviceCamera.ts:238
Parameters
simulatorCamera
Returns
void
setDeviceId()
setDeviceId(
deviceId
):Promise
<void
>
Defined in: src/camera/XRDeviceCamera.ts:181
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:200
Sets the active camera by its facing mode ('user' or 'environment').
Parameters
facingMode
VideoFacingModeEnum
facing mode
Returns
Promise
<void
>
setState_()
protected
setState_(state
,details
):void
Defined in: src/video/VideoStream.ts:88
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_()
protected
stop_():void
Defined in: src/video/VideoStream.ts:188
Stops the current video stream tracks.
Returns
void
Inherited from
update()
update(
_time?
,_frame?
):void
Defined in: src/core/Script.ts:67
Runs per frame.
Parameters
_time?
number
_frame?
Returns
void