# screenrecordingsoftware **Repository Path**: sdsdsd6/screenrecordingsoftware ## Basic Information - **Project Name**: screenrecordingsoftware - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-22 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 屏幕录制器 (Screen Recorder) 一个功能完整的Android屏幕录制应用,类似于ADV Screen Recorder。 ## 功能特性 ### 🎥 核心录制功能 - **高质量屏幕录制**: 支持多种质量设置(2-12 Mbps) - **音频录制**: 可选择是否录制麦克风音频 - **实时预览**: 悬浮窗显示录制状态和时间 - **后台录制**: 支持在后台持续录制 ### ⚙️ 高级设置 - **视频质量调节**: 4个质量等级可选 - **录制时长限制**: 可设置自动停止时间 - **音频控制**: 独立控制音频录制 - **触摸显示**: 可选择显示触摸点(适合制作教程) ### 🎨 用户界面 - **现代化设计**: Material Design风格界面 - **悬浮控制器**: 录制时显示悬浮控制按钮 - **状态指示**: 实时显示录制状态和时间 - **设置界面**: 直观的设置选项 ## 技术架构 ### 核心组件 1. **MainActivity**: 主界面,处理用户交互 2. **ScreenRecordService**: 核心录制服务,使用MediaProjection API 3. **FloatingController**: 悬浮窗控制器,提供录制控制 4. **SettingsActivity**: 设置界面,管理录制参数 ### 关键技术 - **MediaProjection API**: Android官方屏幕录制API - **MediaRecorder**: 音视频编码和录制 - **VirtualDisplay**: 虚拟显示器创建 - **前台服务**: 确保录制在后台持续进行 - **悬浮窗**: 提供便捷的录制控制 ## 权限说明 应用需要以下权限: - `RECORD_AUDIO`: 录制音频 - `WRITE_EXTERNAL_STORAGE`: 保存录制文件 - `READ_EXTERNAL_STORAGE`: 访问存储 - `SYSTEM_ALERT_WINDOW`: 显示悬浮窗 - `FOREGROUND_SERVICE`: 后台服务 - `POST_NOTIFICATIONS`: 显示通知 ## 使用方法 ### 1. 首次使用 1. 启动应用后会自动请求必要权限 2. 允许所有权限以确保功能正常 3. 特别需要允许"悬浮窗权限"用于显示录制控制 ### 2. 开始录制 1. 点击"开始录制"按钮 2. 系统会弹出屏幕录制权限请求,选择"立即开始" 3. 录制开始后会显示悬浮控制器 ### 3. 录制控制 - **悬浮窗控制**: 录制时右上角会显示悬浮控制器 - **通知栏控制**: 下拉通知栏可看到录制通知 - **主界面控制**: 返回应用主界面可停止录制 ### 4. 设置调整 1. 点击"设置"按钮进入设置界面 2. 调整视频质量、音频设置等 3. 设置会自动保存 ## 录制文件 ### 保存位置 录制文件默认保存在: ``` /storage/emulated/0/Movies/ScreenRecord/ ``` ### 文件命名 文件按时间戳命名: ``` screen_record_20241201_143022.mp4 ``` ### 文件格式 - **视频编码**: H.264 - **音频编码**: AAC (如果启用) - **容器格式**: MP4 - **分辨率**: 设备原生分辨率 - **帧率**: 30fps ## 质量设置说明 | 质量等级 | 码率 | 适用场景 | 文件大小 | |---------|------|----------|----------| | 低质量 | 2 Mbps | 快速分享 | 较小 | | 中等质量 | 4 Mbps | 一般使用 | 中等 | | 高质量 | 8 Mbps | 高清录制 | 较大 | | 超高质量 | 12 Mbps | 专业用途 | 最大 | ## 注意事项 ### 性能考虑 - 高质量录制会消耗更多CPU和存储空间 - 录制时建议关闭不必要的应用 - 确保设备有足够的存储空间 ### 兼容性 - 最低Android版本: API 24 (Android 7.0) - 需要设备支持MediaProjection API - 某些定制系统可能需要额外权限 ### 隐私安全 - 应用不会上传任何录制内容 - 所有文件保存在本地设备 - 请遵守当地法律法规,不要录制他人隐私内容 ## 开发信息 ### 项目结构 ``` app/src/main/java/com/example/screenrecorder/ ├── MainActivity.java # 主界面 ├── ScreenRecordService.java # 录制服务 ├── FloatingController.java # 悬浮控制器 └── SettingsActivity.java # 设置界面 ``` ### 依赖库 - AndroidX Core - Material Design Components - Dexter (权限管理) - Media3 (媒体处理) ## 故障排除 ### 常见问题 1. **无法开始录制**: 检查是否授予了所有必要权限 2. **悬浮窗不显示**: 确保允许了悬浮窗权限 3. **录制文件损坏**: 检查存储空间是否充足 4. **音频无声音**: 检查麦克风权限和音频设置 ### 联系支持 如遇到问题,请检查: 1. Android版本是否支持 2. 权限是否完整授予 3. 存储空间是否充足 4. 设备是否支持屏幕录制功能 --- **免责声明**: 请确保在合法合规的前提下使用本应用进行屏幕录制,尊重他人隐私和版权。