super.onActivityResult(requestCode, resultCode, data);//首先判断请求码是否一致,结果是否okif(requestCode == REQUEST_CODE && resultCode ==RESULT_OK){//录屏请求成功,使用工具MediaProjection录屏//从发送获得的数据和结果中获取该工具mediaProjection =mediaProjectionManager.getMediaProjection(resultCode,data);//...
步骤1: 获取录屏权限 首先,我们需要获取录屏权限,这需要使用到MediaProjectionManager类。在你的Activity中添加一个按钮,并在按钮点击事件中执行以下代码: privatestaticfinalintSCREEN_RECORD_REQUEST_CODE=1;privateMediaProjectionManagermMediaProjectionManager;ButtonstartRecordButton=findViewById(R.id.start_record_button)...
2. 加密视频录制可能黑屏。 加密视频可能保护自己的内容阻止录制功能,那么录屏结果会黑屏,并这些内容无法录制。 3. 如果所有录制的视频都黑屏,有可能播放器的问题,请你在‘迅雷影音’或‘百度影音’等其他播放器再次尝试。 (参考:在 Win8/Win9 环境上 H264(CPU)编码器进行录制的视频,在 Win7 环境无法播放会出...
AndroidManifest.xml中要为该Service设置android:foregroundServiceType="mediaProjection"属性 且需要声明<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> 启动Service时,需要调用startForegroundService()作为前台服务启动 在Service中需要先调用startForeground()启动一个Notification后才能调用录屏 流程:...
MediaProjection是Android5.0后才开放的屏幕采集接口,通过系统级服务MediaProjectionManager进行管理。 录屏过程可以分成两个部分,即通过MediaProjectionManage申请录屏权限,用户允许后开始录制屏幕;然后通过MediaRecorder对音视频数据进行处理。 获取MediaProjectionManager实例 ...
1、启动录屏 首先通过SystemService获取MediaProjectionManager,然后创建录屏Intent,使用Intent发起录屏请求,示例代码如下: fun startScreenRecord(context: Context) { val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager displayMetrics = DisplayMetrics() ...
MediaProjection是Android5.0后才开放的屏幕采集接口,通过系统级服务MediaProjectionManager进行管理。 录屏过程可以分成两个部分,即通过MediaProjectionManage申请录屏权限,用户允许后开始录制屏幕;然后通过MediaRecorder对音视频数据进行处理。 获取MediaProjectionManager实例 ...
MediaProjectionManager.getMediaProjection(resultCode,clonedIntent)第一次录屏没有问题,但我无法第二次录屏 。需要重新启动才可以录制 通过上网查找得知: 1、Intent数据是不能重用的,解决方案也很简单,就是使用完媒体投影后不要关闭即可。 2、因此:停止录屏的时候不可以调用 MediaProjection.stop。我们可以在退出Service...
获取录屏数据 对数据进行 h264 编码 Rtmp 数据包 上传到直播服务器推流地址 获取录屏数据 通过Intent 获取到 MediaProjectionService,继而获取到 Mediaprojection 的 VirtualCanvas,我们录屏的原始数据就是从中得来的 privatevoidinitLive(){mediaProjectionManager=(MediaProjectionManager)getSystemService(Context.MEDIA_PROJE...
录屏过程可以分成两个部分,即通过MediaProjectionManage申请录屏权限,用户允许后开始录制屏幕;然后通过MediaRecorder对音视频数据进行处理。 获取MediaProjectionManager实例 申请权限 这个方法会返回一个intent,你可以通过方法来传递这个intent,为了能开始屏幕捕捉,activity会提示用户是否允许屏幕捕捉(为了防止开发者做一个木马,来...