Desktop Recording SDK Event Types
Event Types
The Desktop Recording SDK monitors for a variety of different events that you'll be able to subscribe to in your application. Below is a comprehensive list of all events that are currently available:
EventType | Definition |
|---|---|
| Triggered when the user has granted all the required permissions to start recording. |
| Triggered when a meeting is found, either when a new one starts, or after the SDK initializes and there is a meeting already in progress. |
| Triggered when the in-progress recording changes state, either to |
| Triggered when a recording has started. |
| Triggered when a recording has stopped, due to the meeting ending, or calling |
| Triggered when a detected meeting has ended. |
| Triggered when media capture has been interrupted or resumed. In some cases, the meeting window can't be captured, so only audio is received (for instance, when the meeting window is on an inactive virtual desktop). |
| Triggered when media capture for a participant has been interrupted or resumed. For example, when a user's video tile becomes no longer visible due to overcrowding in the meeting window, this event will be triggered to notify your code that that participant's video is not captured. |
| Triggered when real-time data is available, such as transcript information or participant join/leave events. Subscribe to real-time events with |
| Triggered when meeting information has updated (usually when |
| Triggered when the Desktop Recording SDK has encountered an error. Right now, the only type is |
| Triggered on startup to indicate the current status of the required permissions. The permission will be one of
|
| Triggered when the the Desktop Recording SDK shuts down normally. |
Event Listeners
Event listeners give you back different events with different structures, here they are:
RecallAiSdk.addEventListener("permissions-granted", async (evt) => {
// The user has granted all the required permsisions to start recording
});
RecallAiSdk.addEventListener("meeting-detected", async (evt) => {
const { window } = evt;
});
RecallAiSdk.addEventListener("sdk-state-change", async (evt) => {
const {sdk: {state: { code }}} = evt;
// code is either "recording" or "idle"
});
RecallAiSdk.addEventListener('recording-ended', async (evt) => {
const { window } = evt;
});
RecallAiSdk.addEventListener('meeting-closed', async (evt) => {
const { window } = evt;
});
RecallAiSdk.addEventListener('realtime-event', async (evt) => {
const {window , type, status} = evt;
});
RecallAiSdk.addEventListener('recording-started', async (evt) => {
const { window } = evt;
});
RecallAiSdk.addEventListener('meeting-updated', async (evt) => {
const { window } = evt;
});
RecallAiSdk.addEventListener('media-capture-status', async (evt) => {
const { window, type, capturing } = evt;
// type is 'video' or 'audio'
// capturing is a boolean indicating capture status
});
RecallAiSdk.addEventListener('participant-capture-status', async (evt) => {
const { window, type, participantId, capturing } = evt;
// type is 'video', 'audio', or 'screenshare'
// capturing is a boolean indicating capture status
});
RecallAiSdk.addEventListener('error', async (evt) => {
const { window, type, message } = evt;
const windowId = window?.id;
});
RecallAiSdk.addEventListener('permission-status', async (evt) => {
const { permission, status } = evt;
// Permission type (e.g. 'microphone'),
// status ["granted", "not_requested", "denied"]
// (see event listener docs below for more information)
});
RecallAiSdk.addEventListener('shutdown', async (evt) => {
const { code, signal } = evt;
});Updated about 5 hours ago