npm install @capgo/capacitor-screen-recorder
npx cap sync
add NSPhotoLibraryUsageDescription in your info.plist
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 to your Android app's build.gradle (android/app/build.gradle):
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io/' }
}
}
This plugin will use the following project variables (defined in your app's variables.gradle
file):
$kotlinVersion
version oforg.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
No configuration required for this plugin.
start(options?: { recordAudio?: boolean | undefined; } | undefined) => Promise<void>
start the recording
Param | Type | Description |
---|---|---|
options |
{ recordAudio?: boolean; } |
Recording options |
stop() => Promise<void>
stop the recording