屏幕共享

本节主要涉及屏幕共享(屏幕录制)的功能,屏幕共享的使用方法与Camera1 、 Camera2类似,下面重点说明下不同点。

注意

  1. 只有Android 5.0 及以上的系统才支持屏幕共享。

  2. 发起屏幕共享前需要向系统动态申请相关权限,参考以下代码:

MediaProjectionManager mediaProjectionManager = (MediaProjectionManager)   getSystemService(Context.MEDIA_PROJECTION_SERVICE);
Intent captureIntent = mediaProjectionManager.createScreenCaptureIntent();
startActivityForResult(captureIntent, 1002);

在获取到系统的屏幕录制权限时(参考 onActivityResult中返回结果),即可开始屏幕共享。

     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

       if (resultCode == Activity.RESULT_OK && data != null && requestCode == 1002) {
           AVChatVideoCapturer videoCapturer
             = AVChatVideoCapturerFactory.createScreenVideoCapturer(data, 
                new MediaProjection.Callback() {
                @Override
                public void onStop() {
                    super.onStop();
                }
            });
            AVChatManager.getInstance().setupVideoCapturer(videoCapturer);
            AVChatManager.getInstance().startVideoPreview();
        }
    }