Skip to content

Class: CameraUtils

Defined in: packages/core/src/camera/camera-utils.ts:20

CameraUtils - Static utilities for camera discovery and selection Handles permission requests and device enumeration with caching

Constructors

Constructor

new CameraUtils(): CameraUtils

Returns

CameraUtils

Methods

captureFrame()

static captureFrame(entity): HTMLCanvasElement

Defined in: packages/core/src/camera/camera-utils.ts:137

Capture current video frame as a canvas Returns canvas at full video resolution, ready for processing

Parameters

entity

Entity

Entity with CameraSource component

Returns

HTMLCanvasElement

HTMLCanvasElement or null if camera not ready

Examples

ts
// Simple texture creation
const canvas = CameraUtils.captureFrame(cameraEntity);
if (canvas) {
  const texture = new CanvasTexture(canvas);
}
ts
// With post-processing
const canvas = CameraUtils.captureFrame(cameraEntity);
if (canvas) {
  const ctx = canvas.getContext('2d');
  ctx.filter = 'blur(2px)';
  const texture = new CanvasTexture(canvas);
}

findByFacing()

static findByFacing(devices, facing): CameraDeviceInfo

Defined in: packages/core/src/camera/camera-utils.ts:92

Find camera by facing direction from device list

Parameters

devices

CameraDeviceInfo[]

facing

CameraFacingType

Returns

CameraDeviceInfo


getDevices()

static getDevices(refresh): Promise<CameraDeviceInfo[]>

Defined in: packages/core/src/camera/camera-utils.ts:37

Get available camera devices

On first call or if refresh=true:

  • Requests camera permission (if not granted)
  • Enumerates all video input devices
  • Caches results for subsequent calls

On subsequent calls with refresh=false:

  • Returns cached results immediately

Parameters

refresh

boolean = false

Force re-enumeration (useful for hot-plugged devices)

Returns

Promise<CameraDeviceInfo[]>

Array of available camera devices


hasPermission()

static hasPermission(): Promise<boolean>

Defined in: packages/core/src/camera/camera-utils.ts:102

Check if camera permission is granted (doesn't request)

Returns

Promise<boolean>

Privacy | Terms