Screen Recorder 是一款无需 Root 权限的 Android 屏幕录制应用,支持录制屏幕、添加摄像头画中画、音频录制等功能。
项目分析报告:Screen Recorder Android
项目概述
项目名称: Screen Recorder Android 5.0 Above (No Root Require)
包名: sim.ami.com.myapplication
版本: 1.8
平台: Android
开发语言: Java
最低支持: Android 5.0+
开发商: Screen Recorder Team
Screen Recorder 是一款无需 Root 权限的 Android 屏幕录制应用,支持录制屏幕、添加摄像头画中画、音频录制等功能。
功能描述
核心功能
- 屏幕录制: 无需 Root 权限录制屏幕
- 摄像头画中画: 前置摄像头叠加到录屏
- 音频录制: 支持内部音频和麦克风
- 视频编辑: 剪切、特效、时间缩放
- 摇一摇控制: 摇动设备开始/停止录制
- 悬浮窗: ChatHead 悬浮控制
- 画廊: 查看和管理录制视频
- 设置: 录制参数配置
主要模块
| 模块/类 | 功能说明 |
|---|---|
| HomeActivity | 主界面,录制控制 |
| Project | 录制项目管理 |
| Setting | 设置页面 |
| gallery | 视频画廊 |
| ChatHeadService | 悬浮窗服务 |
| AppImpl | 应用类 |
| Constant | 常量定义 |
| ShakeDetector | 摇一摇检测 |
项目结构
screen-recorder/
└── ScreenRecorder_1.8/
├── app/src/main/
│ ├── java/sim/ami/com/myapplication/
│ │ ├── HomeActivity.java # 主界面
│ │ ├── Project.java # 项目管理
│ │ ├── Setting.java # 设置
│ │ ├── gallery.java # 画廊
│ │ ├── ChatHeadService.java # 悬浮窗服务
│ │ ├── AppImpl.java # 应用类
│ │ ├── Constant.java # 常量
│ │ └── ShakeDetector.java # 摇一摇检测
│ └── AndroidManifest.xml
├── domain/ # 领域层
├── effects/ # 特效
└── samples/ # 示例
核心业务逻辑
录屏流程
1. 请求权限 → MediaProjection
2. 配置录制参数 → 分辨率、帧率、比特率
3. 启动录制服务 → 后台录制
4. 显示悬浮窗 → 控制按钮
5. 停止录制 → 保存视频
摄像头画中画
- 启动前置摄像头
- 获取摄像头预览
- 叠加到录屏画面
- 可调整位置和大小
摇一摇控制
- 注册加速度传感器
- 检测摇动动作
- 触发开始/停止录制
核心代码文件
| 文件路径 | 说明 |
|---|---|
HomeActivity.java |
主界面,录制控制 |
Project.java |
录制项目管理 |
Setting.java |
录制参数设置 |
gallery.java |
视频画廊 |
ChatHeadService.java |
悬浮窗控制服务 |
ShakeDetector.java |
摇一摇检测器 |
Constant.java |
应用常量 |
技术栈
| 技术 | 用途 |
|---|---|
| MediaProjection API | 屏幕捕获 |
| MediaCodec | 视频编码 |
| MediaMuxer | 视频复用 |
| Camera API | 摄像头控制 |
| Sensor API | 加速度传感器 |
| Service | 后台服务 |
| WindowManager | 悬浮窗 |
权限需求
<!-- 录屏权限 -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!-- 存储权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 音频权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<!-- 相机权限 -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.front" />
<!-- 其他权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
录制配置
支持的视频格式
- MP4 (H.264 编码)
分辨率选项
- 1080p (1920×1080)
- 720p (1280×720)
- 480p (854×480)
帧率选项
- 60 fps
- 30 fps
- 24 fps
比特率选项
- 12 Mbps (高)
- 6 Mbps (中)
- 3 Mbps (低)
视频编辑功能
视频剪切
- 选择起始和结束时间
- 精确剪切
- 保存为新文件
视频特效
- 滤镜效果
- 转场效果
- 色彩调整
时间缩放
- 慢动作
- 快进
- 正常速度
总结
Screen Recorder 是一款功能完整的 Android 屏幕录制应用,最大特点是不需要 Root 权限即可录制屏幕。应用支持摄像头画中画、音频录制、摇一摇控制等高级功能,并提供了视频编辑能力。
优势特点:
- 无需 Root 权限
- 支持摄像头画中画
- 摇一摇控制录制
- 悬浮窗控制
- 视频编辑功能
- 多种录制参数配置
适用场景:
- 游戏录制
- 教程制作
- 应用演示
- 在线课程录制