Zum Hauptinhalt springen

Media Recorder Events

Description

This Media Recorder allows you to capute screenshots and record video of your Studio project at runtime.

Events

RECORDER_SCREENSHOT_READY

Emitted when screenshot is ready.

Properties

PropertyTypeDescription
blobBlobThe JPEG image blob of the screenshot

Example

world.events.addListener(world.events.globalId, ecs.events.RECORDER_SCREENSHOT_READY, (e) => {
const blob = e.data;
console.log('Screenshot blob:', blob);
});

RECORDER_VIDEO_STARTED

Emitted when recording has started.

Properties

None.

Example

world.events.addListener(world.events.globalId, ecs.events.RECORDER_VIDEO_STARTED, () => {
console.log('Recording started');
});

RECORDER_VIDEO_STOPPED

Emitted when recording has stopped.

Properties

None.

Example

world.events.addListener(world.events.globalId, ecs.events.RECORDER_VIDEO_STOPPED, () => {
console.log('Recording stopped');
});

RECORDER_VIDEO_ERROR

Emitted when there is an error.

Properties

PropertyTypeDescription
messagestringThe error message
namestringThe error name
stackstringThe error stack trace

Example

world.events.addListener(world.events.globalId, ecs.events.RECORDER_VIDEO_ERROR, (error) => {
console.error('Recorder error:', error.message);
});

RECORDER_VIDEO_READY

Emitted when recording has completed and video is ready.

Properties

PropertyTypeDescription
videoBlobBlobThe recorded video blob

Example

world.events.addListener(world.events.globalId, ecs.events.RECORDER_VIDEO_READY, ({ videoBlob }) => {
console.log('Video ready:', videoBlob);
});

RECORDER_PREVIEW_READY

Emitted when a previewable, but not sharing-optimized, video is ready (Android/Desktop only).

Properties

PropertyTypeDescription
videoBlobBlobThe preview video blob

Example

world.events.addListener(world.events.globalId, ecs.events.RECORDER_PREVIEW_READY, ({ videoBlob }) => {
console.log('Preview ready:', videoBlob);
});

RECORDER_FINALIZE_PROGRESS

Emitted when the media recorder is making progress in the final export (Android/Desktop only).

Properties

PropertyTypeDescription
progressnumberFinalization progress (0 to 1)

Example

world.events.addListener(world.events.globalId, ecs.events.RECORDER_FINALIZE_PROGRESS, ({ progress }) => {
console.log(`Finalize progress: ${progress * 100}%`);
});

RECORDER_PROCESS_FRAME

Properties

PropertyTypeDescription
frameImageDataThe processed video frame
timestampnumberThe timestamp of the frame (ms)

Example

world.events.addListener(world.events.globalId, ecs.events.RECORDER_PROCESS_FRAME, ({ frame, timestamp }) => {
console.log(`Processed frame at ${timestamp}ms`, frame);
});