Skip to content

Cap-go/capacitor-screen-recorder

Repository files navigation

Capacitor-screen-recorder

Capgo - Instant updates for capacitor

Record device's screen

Install

npm install @capgo/capacitor-screen-recorder
npx cap sync

IOS

add NSPhotoLibraryUsageDescription in your info.plist

Android

increase project's minSdk version to 23, it's required by the dependency HBRecorder

Add these permissions in your AndroidManifest.xml:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />

Add JitPack Repository

Add JitPack repository to your Android app's build.gradle (android/app/build.gradle):

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io/' }
    }
}

Variables

This plugin will use the following project variables (defined in your app's variables.gradle file):

  • $kotlinVersion version of org.jetbrains.kotlin:kotlin-stdlib-jdk7 (default: 1.7.21)

If you have compilation issue Duplicate class androidx.lifecycle.ViewModelLazy i found in this the solution who worked for me: https://stackoverflow.com/questions/73406969/duplicate-class-androidx-lifecycle-viewmodellazy-found-in-modules-lifecycle-view

Add this

configurations {
    all {
        exclude group: 'androidx.lifecycle', module: 'lifecycle-runtime-ktx'
        exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
    }
}
an

line 2 in file android/app/build.gradle

Configuration

No configuration required for this plugin.

API

start(...)

start(options?: { recordAudio?: boolean | undefined; } | undefined) => Promise<void>

start the recording

Param Type Description
options { recordAudio?: boolean; } Recording options

stop()

stop() => Promise<void>

stop the recording