Skip to content

Kapture is a screen recorder for android that allows to record/capture the microphone audio while sharing it with other apps.

License

Notifications You must be signed in to change notification settings

hms-douglas/kapture

Repository files navigation

Kapture - Screen recorder Static Badge Static Badge Static Badge

Change README language: en pt-br

Kapture is a screen recorder for android that allows to capture microphone audio while sharing it with other apps.

I was looking for an app that allow me to record my screen and microphone while sharing the microphone with other apps, like games. Unfortunately I didn't find any inside the Google Play. The ones I found required sideload, which I was a bit concerned about installing because it required some dangerous permissions and I didn't have access to the code. Therefore I decided to build one on my own. I'm also sharing it here. You can download the .apk and install it, or you can download the source code, read it and built it yourself.

Features

  • Capture the screen:
    • Set resolution;
    • Set quality (bit rate);
    • Set orientation;
    • Set recording FPS.
  • Capture internal audio (if the app that is playing the audio allows it to be captured):
    • Capture in mono or stereo.
  • Capture microphone audio (while sharing with other apps):
    • Increase/decrease volume.
  • Pause/Resume capturing;
  • Floating UI;
    • Menu (Stop, pause, screenshot, draw, minimize, close, time, time limit, camera);
    • Camera (front, back / extra styles);
    • Text (extra styles);
    • Draw (extra styles).
  • Generate extra video files:
    • Without audio;
    • With internal audio only;
    • With microphone audio only.
  • Generate extra audio files:
    • Both audio;
    • Internal audio only;
    • Microphone audio only.
  • Notification shortcuts;
  • Quick tile shortcut;
  • Launcher static shortcuts;
  • Manage all captures made by the app:
    • Check info like resolution, date of creation, size, ...
    • Remove from the app;
    • Delete file(s) from the device;
    • Check related files (extra files generated);
    • Rename;
    • Share.
  • WiFi share;
  • Countdown to start capturing;
  • Auto stop options;
  • Internal viewer (player):
    • Audio player;
    • Video player.
  • Set app language (auto or manually):
    • English
    • Português (Brasil).
  • Light and dark mode (auto or manually).

Sharing microphone

According to the Android documentation, after the Android 10/11, apps can only share the microphone input between them in specific cases.

Kapture is built over an accessibility service, turning it into a specific case, like mentioned here in the android docs.

Android permissions (required to use)

  • Microphone: Used to capture the microphone and internal audio:
    • android.permission.RECORD_AUDIO
  • Notification: Used to show notifications and start the foreground service:
    • android.permission.POST_NOTIFICATIONS
  • Storage: Used to create and manage the files:
    • android.permission.WRITE_EXTERNAL_STORAGE
    • android.permission.READ_EXTERNAL_STORAGE
    • android.permission.MANAGE_EXTERNAL_STORAGE
  • Secure settings: Used to share the microphone with other apps and start the accessibility service:
    • android.permission.WRITE_SECURE_SETTINGS
    • android.permission.FOREGROUND_SERVICE
  • Internet: Used to search for updates (does not auto update), to open external links and to share files over WiFi:
    • android.permission.INTERNET
    • android.permission.ACCESS_NETWORK_STATE
  • Camera: Used to show the camera overlay:
    • android.permission.CAMERA
  • Optimization: Used as shortcut to disable the phone's battery optimization for the app:
    • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

Installing

Option 1:

  • Download the source code, or clone this repository, and build the app using Android Studio.

Option 2:

  • You can download the latest version .apk here*;
  • You can check all previous versions .apk links for download here*.
* All .apks listed here were built by me, are not minimified and are hosted on Google Drive. * Google Play Protect may prevent the app from being installed using the .apk file. In this case, disable the Google Play Protect, install the file and then enable it again.

Donations

  • If you would like to support me, you can make a donation clicking on the button bellow... Thank you! ❤️

Log

v1.2.0

  • Loading performance improved;
  • Pause/resume option added;
  • Launcher static shortcuts added.
v1.1.0
  • Fixed notification actions not closing activity when action is completed;
  • Fixed notification channel name;
  • Fixed some translation errors;
  • New menu overlay UI;
  • Camera overlay added;
  • Text overlay added;
  • Draw overlay added;
  • WiFi share added;
  • Countdown to start added;
  • Auto stop options added;
  • Screenshot (print screen) while capturing added;
  • Option to enable/disable some notifications added;
  • Capturing orientation added;
  • Option to ignore phone's battery optimization added;
  • UI updated;
  • Credits updated.
v1.0.0
  • Release.

License

Copyright 2024 Douglas Silva

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.