Aplikasi Screen Recorder Android Modern dengan UI Premium
OREC adalah aplikasi screen recorder untuk Android yang dibangun menggunakan Kotlin murni. Aplikasi ini menggunakan MediaProjection API untuk menangkap layar, MediaCodec untuk encoding hardware H.264, dan MediaMuxer untuk menghasilkan file MP4 berkualitas tinggi.
- π¬ Rekam Layar HD - Rekam layar dengan resolusi hingga 1080p
- β‘ Hardware Encoding - Menggunakan encoder hardware untuk performa optimal
- π€ Opsi Audio - Pilihan tanpa audio, mikrofon, atau audio internal (Android 10+)
- βοΈ Pengaturan Fleksibel - Atur resolusi, frame rate, dan bitrate sesuai kebutuhan
- π Mode Gelap/Terang - UI otomatis menyesuaikan tema sistem
- π« Animasi Modern - Pulse effect dan transisi yang halus
- π± Android 15 Ready - Mendukung Android versi terbaru
| Main Screen | Recording | Settings |
|---|---|---|
![]() |
![]() |
![]() |
- Android Studio Hedgehog atau lebih baru
- JDK 17 atau lebih baru
- Android SDK dengan API Level 35
- Perangkat Android dengan minimum API 24 (Android 7.0)
git clone https://github.com/LuckyArch/screen-recorder-app.git
cd screen-recorder-appVia Android Studio:
- Buka project di Android Studio
- Sync Gradle (File > Sync Project with Gradle Files)
- Pilih Build > Build Bundle(s) / APK(s) > Build APK(s)
- APK tersedia di
app/build/outputs/apk/debug/
Via Command Line:
# Windows
.\gradlew.bat assembleDebug
# Linux/Mac
./gradlew assembleDebugOREC/
βββ app/
β βββ src/main/
β β βββ java/com/orec/recorder/
β β β βββ engine/ # Core recording logic
β β β β βββ RecordingConfiguration.kt
β β β β βββ AudioCaptureManager.kt
β β β β βββ ScreenRecorderEngine.kt
β β β βββ service/ # Background service
β β β β βββ RecorderService.kt
β β β βββ ui/ # User interface
β β β βββ MainActivity.kt
β β β βββ SettingsActivity.kt
β β βββ res/ # Resources
β β βββ layout/ # XML layouts
β β βββ drawable/ # Icons & backgrounds
β β βββ values/ # Colors, strings, themes
β β βββ values-night/ # Dark mode resources
β βββ build.gradle.kts # App-level build config
βββ docs/ # Dokumentasi
βββ build.gradle.kts # Project-level build config
βββ settings.gradle.kts # Gradle settings
βββ README.md # File ini
Buka file app/src/main/res/values/strings.xml untuk mengubah nilai default:
<!-- Default Settings -->
<string name="default_resolution">1920x1080</string>
<string name="default_fps">30</string>
<string name="default_bitrate">8000000</string>
<string name="default_audio_source">none</string>Mode Terang: app/src/main/res/values/colors.xml
Mode Gelap: app/src/main/res/values-night/colors.xml
<!-- Primary Colors -->
<color name="primaryColor">#00C853</color>
<color name="primaryColorDark">#00A844</color>
<color name="accentColor">#00E676</color>
<!-- Background Gradient -->
<color name="gradientStart">#1A1A2E</color>
<color name="gradientMiddle">#16213E</color>
<color name="gradientEnd">#0F3460</color>Edit app/src/main/res/values/strings.xml:
<string name="app_name">OREC</string>Aplikasi menggunakan arsitektur yang sederhana namun terstruktur:
βββββββββββββββββββ
β MainActivity β β UI Layer
ββββββββββ¬βββββββββ
β binds
βΌ
βββββββββββββββββββ
β RecorderService β β Foreground Service
ββββββββββ¬βββββββββ
β uses
βΌ
βββββββββββββββββββ
βScreenRecorder β β Recording Engine
β Engine β
ββββββββββ¬βββββββββ
β uses
βΌ
βββββββββββββββββββ
β AudioCapture β β Audio Handler
β Manager β
βββββββββββββββββββ
| Komponen | Fungsi |
|---|---|
MainActivity |
Menampilkan UI utama dengan tombol rekam dan timer |
SettingsActivity |
Halaman pengaturan resolusi, FPS, bitrate, audio |
RecorderService |
Foreground service untuk menjalankan rekaman |
ScreenRecorderEngine |
Core logic: MediaProjection, MediaCodec, MediaMuxer |
AudioCaptureManager |
Menangkap audio dari mikrofon atau internal |
RecordingConfiguration |
Data class untuk menyimpan konfigurasi |
| Permission | Keterangan |
|---|---|
RECORD_AUDIO |
Untuk merekam audio dari mikrofon |
FOREGROUND_SERVICE |
Untuk menjalankan service di foreground |
FOREGROUND_SERVICE_MEDIA_PROJECTION |
Khusus Android 14+ untuk screen capture |
POST_NOTIFICATIONS |
Untuk menampilkan notifikasi saat merekam |
- Kotlin - Bahasa pemrograman utama
- MediaProjection API - Untuk menangkap tampilan layar
- MediaCodec - Hardware encoder untuk H.264 video
- MediaMuxer - Untuk menghasilkan file MP4
- MediaStore API - Untuk menyimpan video (Android 10+)
- Material Design 3 - Komponen UI modern
- ViewBinding - Type-safe view access
- AndroidX - Library support terbaru
Kontribusi sangat diterima! Silakan:
- Fork repository ini
- Buat branch fitur (
git checkout -b fitur/FiturBaru) - Commit perubahan (
git commit -m 'Menambahkan fitur baru') - Push ke branch (
git push origin fitur/FiturBaru) - Buat Pull Request
Project ini dilisensikan di bawah MIT License - lihat file LICENSE untuk detail.
LuckyArch
Jika menemukan bug atau punya saran, silakan buat Issue baru.
Made with β€οΈ using Kotlin



