MCPcopy Index your code
hub / github.com/Tornaco/SystemRecApi

github.com/Tornaco/SystemRecApi @v2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0 ↗ · + Follow
249 symbols 543 edges 33 files 54 documented · 22%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SystemRecApi

基于CS模式,服务端安装于System下,拥有系统权限。客户端安装于data下(普通安装),通过aidl和服务断通讯。

客户端Gradle编译

  • Add it in your root build.gradle at the end of repositories:
    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
  • Add the dependency
dependencies {compile 'com.github.Tornaco:SystemRecApi:v1.3'}

Build in travis

Build Status

服务端的API调用(先确保服务端已经安装)

所有API均集成于RecBridgeServiceProxy

  1. 获取其实例
RecBridgeServiceProxy proxy = RecBridgeServiceProxy.from(this);
  1. 开始录制
 RecBridgeServiceProxy.from(context)
                    .start(IParam.builder()
                                    .audioSource(settingsProvider.getInt(SettingsProvider.Key.AUDIO_SOURCE))
                                    .frameRate(settingsProvider.getInt(SettingsProvider.Key.FAME_RATE))
                                    .audioBitrate(settingsProvider.getInt(SettingsProvider.Key.AUDIO_BITRATE_RATE_K))
                                    .orientation(settingsProvider.getInt(SettingsProvider.Key.ORIENTATION))
                                    .resolution(settingsProvider.getString(SettingsProvider.Key.RESOLUTION))
                                    .stopOnScreenOff(settingsProvider.getBoolean(SettingsProvider.Key.SCREEN_OFF_STOP))
                                    .useMediaProjection(!isPlatformBridge)
                                    .stopOnShake(settingsProvider.getBoolean(SettingsProvider.Key.SHAKE_STOP))
                                    .shutterSound(settingsProvider.getBoolean(SettingsProvider.Key.SHUTTER_SOUND))
                                    .path(SettingsProvider.get().createVideoFilePath())
                                    .showNotification(true)
                                    .showTouch(settingsProvider.getBoolean(SettingsProvider.Key.SHOW_TOUCH))
                                    .build(),
  1. 停止录制
proxy.stop();
  1. 监听(sticky)
proxy.watch(new IWatcher.Stub() {
            @Override
            public void onStart() throws RemoteException {

            }

            @Override
            public void onStop() throws RemoteException {

            }

            @Override
            public void onElapsedTimeChange(String s) throws RemoteException {

            }
        });

Extension points exported contracts — how you extend this code

StartElementListener (Interface)
Listens for the beginning of elements. [5 implementers]
app/src/main/java/dev/nick/systemrecapi/cast/safesax/StartElementListener.java
Orientations (Interface)
(no doc)
library/src/main/java/dev/nick/library/Orientations.java
EndElementListener (Interface)
Listens for the end of elements. [1 implementers]
app/src/main/java/dev/nick/systemrecapi/cast/safesax/EndElementListener.java
AudioSource (Interface)
(no doc)
library/src/main/java/dev/nick/library/AudioSource.java
EndTextElementListener (Interface)
Listens for the end of text elements. [1 implementers]
app/src/main/java/dev/nick/systemrecapi/cast/safesax/EndTextElementListener.java
Events (Interface)
Created by Tornaco on 2017/7/24. Licensed with Apache.
app/src/main/java/dev/nick/systemrecapi/Events.java
ElementListener (Interface)
Listens for the beginning and ending of elements.
app/src/main/java/dev/nick/systemrecapi/cast/safesax/ElementListener.java

Core symbols most depended-on inside this repo

fail
called by 14
app/src/main/java/dev/nick/systemrecapi/cast/Assert.java
start
called by 12
app/src/main/java/dev/nick/systemrecapi/cast/safesax/StartElementListener.java
equals
called by 10
app/src/main/java/dev/nick/systemrecapi/cast/Assert.java
setTask
called by 9
library/src/main/java/dev/nick/library/ServiceProxy.java
stop
called by 9
app/src/main/java/dev/nick/systemrecapi/RecBridgeService.java
getMainThreadHandler
called by 6
app/src/main/java/dev/nick/systemrecapi/cast/ThreadUtil.java
get
called by 6
app/src/main/java/dev/nick/systemrecapi/cast/safesax/Children.java
getInstance
called by 5
library/src/main/java/dev/nick/library/BridgeManager.java

Shape

Method 202
Class 36
Interface 9
Enum 2

Languages

Java100%

Modules by API surface

app/src/main/java/dev/nick/systemrecapi/RecBridgeService.java58 symbols
library/src/main/java/dev/nick/library/ServiceProxy.java17 symbols
app/src/main/java/dev/nick/systemrecapi/cast/RecordingDevice.java17 symbols
app/src/main/java/dev/nick/systemrecapi/cast/EncoderDevice.java16 symbols
library/src/main/java/dev/nick/library/RecBridgeServiceProxy.java15 symbols
app/src/main/java/dev/nick/systemrecapi/cast/safesax/RootElement.java15 symbols
app/src/main/java/dev/nick/systemrecapi/cast/Assert.java15 symbols
app/src/main/java/dev/nick/systemrecapi/cast/safesax/Element.java12 symbols
app/src/main/java/dev/nick/systemrecapi/ui/RecBridgeActivity.java11 symbols
app/src/main/java/dev/nick/systemrecapi/ui/RecRequestAsker.java8 symbols
library/src/main/java/dev/nick/library/BridgeManager.java7 symbols
library/src/main/java/dev/nick/library/IParam.java6 symbols

For agents

$ claude mcp add SystemRecApi \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page