{"id":18582849,"url":"https://github.com/tornaco/systemrecapi","last_synced_at":"2025-04-10T11:36:34.306Z","repository":{"id":23111418,"uuid":"98149352","full_name":"Tornaco/SystemRecApi","owner":"Tornaco","description":"Android录屏框架，目的是使用system uid实现（内录）submix的录制。","archived":false,"fork":false,"pushed_at":"2022-02-28T06:55:56.000Z","size":22729,"stargazers_count":106,"open_issues_count":3,"forks_count":18,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-24T20:51:12.610Z","etag":null,"topics":["recorder","screen"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tornaco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-24T04:37:18.000Z","updated_at":"2024-06-06T07:18:43.000Z","dependencies_parsed_at":"2022-08-07T10:16:45.043Z","dependency_job_id":null,"html_url":"https://github.com/Tornaco/SystemRecApi","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tornaco%2FSystemRecApi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tornaco%2FSystemRecApi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tornaco%2FSystemRecApi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tornaco%2FSystemRecApi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tornaco","download_url":"https://codeload.github.com/Tornaco/SystemRecApi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208689,"owners_count":21065205,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["recorder","screen"],"created_at":"2024-11-07T00:15:35.415Z","updated_at":"2025-04-10T11:36:29.276Z","avatar_url":"https://github.com/Tornaco.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SystemRecApi\n\n\u003e 基于CS模式，服务端安装于System下，拥有系统权限。客户端安装于data下（普通安装），通过aidl和服务断通讯。\n\n### 客户端Gradle编译\n[![](https://jitpack.io/v/Tornaco/SystemRecApi.svg)](https://jitpack.io/#Tornaco/SystemRecApi)\n\n* Add it in your root build.gradle at the end of repositories:\n```gradle\n\tallprojects {\n\t\trepositories {\n\t\t\t...\n\t\t\tmaven { url 'https://jitpack.io' }\n\t\t}\n\t}\n```\n\n* Add the dependency\n```gradle\ndependencies {compile 'com.github.Tornaco:SystemRecApi:v1.3'}\n```\n\n### Build in travis\n[![Build Status](https://travis-ci.org/Tornaco/SystemRecApi.svg?branch=master)](https://travis-ci.org/Tornaco/SystemRecApi)\n\n### 服务端的API调用（先确保服务端已经安装）\n\n所有API均集成于```RecBridgeServiceProxy```\n\n1. 获取其实例\n```java\nRecBridgeServiceProxy proxy = RecBridgeServiceProxy.from(this);\n```\n\n2. 开始录制\n```java\n RecBridgeServiceProxy.from(context)\n                    .start(IParam.builder()\n                                    .audioSource(settingsProvider.getInt(SettingsProvider.Key.AUDIO_SOURCE))\n                                    .frameRate(settingsProvider.getInt(SettingsProvider.Key.FAME_RATE))\n                                    .audioBitrate(settingsProvider.getInt(SettingsProvider.Key.AUDIO_BITRATE_RATE_K))\n                                    .orientation(settingsProvider.getInt(SettingsProvider.Key.ORIENTATION))\n                                    .resolution(settingsProvider.getString(SettingsProvider.Key.RESOLUTION))\n                                    .stopOnScreenOff(settingsProvider.getBoolean(SettingsProvider.Key.SCREEN_OFF_STOP))\n                                    .useMediaProjection(!isPlatformBridge)\n                                    .stopOnShake(settingsProvider.getBoolean(SettingsProvider.Key.SHAKE_STOP))\n                                    .shutterSound(settingsProvider.getBoolean(SettingsProvider.Key.SHUTTER_SOUND))\n                                    .path(SettingsProvider.get().createVideoFilePath())\n                                    .showNotification(true)\n                                    .showTouch(settingsProvider.getBoolean(SettingsProvider.Key.SHOW_TOUCH))\n                                    .build(),\n```\n\n3. 停止录制\n```java\nproxy.stop();\n```\n\n4. 监听(sticky)\n```java\nproxy.watch(new IWatcher.Stub() {\n            @Override\n            public void onStart() throws RemoteException {\n                \n            }\n\n            @Override\n            public void onStop() throws RemoteException {\n\n            }\n\n            @Override\n            public void onElapsedTimeChange(String s) throws RemoteException {\n\n            }\n        });\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftornaco%2Fsystemrecapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftornaco%2Fsystemrecapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftornaco%2Fsystemrecapi/lists"}