蔬菜小程序的开发全流程详解
1119
2022-11-02
Android录屏框架,目的是使用system uid实现(内录)submix的录制
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
服务端的API调用(先确保服务端已经安装)
所有API均集成于RecBridgeServiceProxy
获取其实例
RecBridgeServiceProxy proxy = RecBridgeServiceProxy.from(this);
开始录制
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(),
停止录制
proxy.stop();
监听(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 { } });
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~