ScreenCaptureParameters

Screen sharing configurations.

public class ScreenCaptureParameters {
    public static class VideoCaptureParameters {
        public int bitrate = 0;
        public int framerate = 15;
        public int width = 1280;
        public int height = 720;
        public int contentHint = Constants.SCREEN_CAPTURE_CONTENT_HINT_MOTION;

    @CalledByNative("VideoCaptureParameters")
    public int getBitrate() {
      return bitrate;
    }

    @CalledByNative("VideoCaptureParameters")
    public int getFramerate() {
      return framerate;
    }

    @CalledByNative("VideoCaptureParameters")
    public int getWidth() {
      return width;
    }

    @CalledByNative("VideoCaptureParameters")
    public int getHeight() {
      return height;
    }

    @CalledByNative("VideoCaptureParameters")
    public int getContentHint() {
      return contentHint;
    }

    @Override
    public String toString() {
      return "VideoCaptureParameters{"
          + "bitrate=" + bitrate + ", framerate=" + framerate + ", width=" + width
          + ", height=" + height + ", contentHint=" + contentHint + '}';
    }
  }

    public static class AudioCaptureParameters {
        public int sampleRate = 16000;
        public int channels = 2;
        public int captureSignalVolume = 100;

    @CalledByNative("AudioCaptureParameters")
    public int getSampleRate() {
      return sampleRate;
    }

    @CalledByNative("AudioCaptureParameters")
    public int getChannels() {
      return channels;
    }

    @CalledByNative("AudioCaptureParameters")
    public int getCaptureSignalVolume() {
      return captureSignalVolume;
    }

    @Override
    public String toString() {
      return "AudioCaptureParameters{"
          + "sampleRate=" + sampleRate + ", channels=" + channels
          + ", captureSignalVolume=" + captureSignalVolume + '}';
    }
  }
    public boolean captureAudio = false;
    public VideoCaptureParameters videoCaptureParameters = new VideoCaptureParameters();
    public boolean captureVideo = true;
    public AudioCaptureParameters audioCaptureParameters = new AudioCaptureParameters();

  @CalledByNative
  public boolean isCaptureAudio() {
    return captureAudio;
  }

  @CalledByNative
  public VideoCaptureParameters getVideoCaptureParameters() {
    return videoCaptureParameters;
  }

  @CalledByNative
  public boolean isCaptureVideo() {
    return captureVideo;
  }

  @CalledByNative
  public AudioCaptureParameters getAudioCaptureParameters() {
    return audioCaptureParameters;
  }

  @Override
  public String toString() {
    return "ScreenCaptureParameters{"
        + "captureAudio=" + captureAudio + ", videoCaptureParameters=" + videoCaptureParameters
        + ", captureVideo=" + captureVideo + ", audioCaptureParameters=" + audioCaptureParameters
        + '}';
  }
}

Attributes

captureAudio
Determines whether to capture system audio during screen sharing:
  • true: Capture system audio.
  • false: (Default) Do not capture system audio.
Note: Due to system limitations, capturing system audio is only applicable to Android API level 29 and later (that is, Android 10 and later).
captureVideo
Whether to capture the screen when screen sharing:
  • true: (Default) Capture the screen.
  • false: Do not capture the screen.
Note: Due to system limitations, the capture screen is only applicable to Android API level 21 and above, that is, Android 5 and above.