Entry point for the RecordKit SDK, an instance is available as recordkit that can be imported from the module. Do not instantiate this class directly.

Hierarchy

  • EventEmitter
    • RecordKit

Methods

  • Initialize the RecordKit SDK.

    ⚠️ Must be called before calling any other RecordKit method.

    Parameters

    • args: {
          rpcBinaryPath: string;
          fallbackToNodeModules?: boolean;
          logLevel?: LogLevel;
      }
      • rpcBinaryPath: string

        Path to the recordkit-rpc binary, most of the time this should be set to path.join(process.resourcesPath, 'recordkit-rpc').

      • Optional fallbackToNodeModules?: boolean

        Whether to fallback to the RPC binary from node_modules if the given path does not exist. When enabled an extra check to see if the given path exists is performed. Most of the time this should be set to !app.isPackaged.

      • Optional logLevel?: LogLevel

        Set the global log level. Defaults to debug.

        This is the same as calling setLogLevel right after initialization.

    Returns Promise<void>

  • Parameters

    • schema: {
          output_directory?: string;
          items: RecorderSchemaItem[];
          settings?: {
              allowFrameReordering?: boolean;
          };
      }
      • Optional output_directory?: string
      • items: RecorderSchemaItem[]
      • Optional settings?: {
            allowFrameReordering?: boolean;
        }
        • Optional allowFrameReordering?: boolean

    Returns Promise<Recorder>

Discovery

  • A list of Mac displays that can be used for screen recording.

    Returns Promise<Display[]>

  • A list of macOS windows that can be used for screen recording.

    Returns Promise<Window[]>

  • A list of cameras that are connected to the system.

    Parameters

    • Optional params: {
          includeDeskView?: boolean;
      }
      • Optional includeDeskView?: boolean

        Whether to include Desk View cameras in the results

    Returns Promise<Camera[]>

  • A list of microphones that are connected to the system.

    Returns Promise<Microphone[]>

  • A list of iOS devices that are connected to the system.

    Returns Promise<AppleDevice[]>

  • A list of currently running applications that can be used for screen or audio recording.

    Returns Promise<RunningApplication[]>

Logging

  • Set the global log level. Defaults to debug.

    Messages with a lower level than this will be ignored and not passed to any log handlers.

    Parameters

    Returns Promise<void>

  • Overrides the global log level for a specific category. Defaults to the global log level.

    Messages in the given category with a lower level than this will be ignored and not passed to any log handlers.

    Parameters

    • params: {
          category: string;
          logLevel?: LogLevel;
      }
      • category: string
      • Optional logLevel?: LogLevel

    Returns Promise<void>

Permissions

  • Indicates if camera can be used.

    Authorization status that indicates whether the user grants the app permission to capture video.

    Returns Promise<AuthorizationStatus>

  • Indicates if microphone can be used.

    Authorization status that indicates whether the user grants the app permission to capture audio.

    Returns Promise<AuthorizationStatus>

  • Indicates if screen can be recorded.

    Returns Promise<boolean>

  • Indicates if system audio can be recorded.

    Returns Promise<boolean>

  • Indicates if keystroke events of other apps can be recorded via Input Monitoring.

    Returns Promise<boolean>

  • Indicates if other apps can be controlled via Accessibility.

    Returns Promise<boolean>

  • Requests the user's permission to allow the app to capture the camera.

    Prompts the users if this is the first time requesting access, otherwise immediately returns.

    Returns Promise<boolean>

    Boolean value that indicates whether the user granted or denied access to your app.

  • Requests the user's permission to allow the app to capture the microphone.

    Prompts the users if this is the first time requesting access, otherwise immediately returns.

    Returns Promise<boolean>

    Boolean value that indicates whether the user granted or denied access to your app.

  • Requests the user's permission to allow the app to capture the screen.

    If this is the first time requesting access, this shows dialog that lets th users open System Settings. In System Settings, the user can allow the app permission to do screen recording.

    Afterwards, the users needs to restart this app, for the permission to become active in the app.

    Returns Promise<void>

  • Requests the user's permission to allow the app to capture system audio.

    If this is the first time requesting access, this shows dialog that lets th users open System Settings. In System Settings, the user can allow the app permission to do screen recording.

    Afterwards, the users needs to restart this app, for the permission to become active in the app.

    Returns Promise<void>

    Remarks

    Currently, system audio recording is currently implemented using ScreenCaptureKit, which means the users needs to grant screen recording access.

  • Requests the users's permission to monitor keystrokes of other apps via Input Monitoring.

    If this is the first time requesting access, this shows dialog that lets th users open System Settings. In System Settings, the user can allow the app permission to monitor other apps.

    Afterwards, the users needs to restart this app, for the permission to become active in the app.

    Returns Promise<void>

  • Requests the users's permission to control other apps via Accessibility permissions.

    If this is the first time requesting access, this shows dialog that lets th users open System Settings. In System Settings, the user can allow the app permission to control apps.

    Afterwards, the users needs to restart this app, for the permission to become active in the app.

    Returns Promise<void>

Generated using TypeDoc