PlanetKitJoinConferenceSettingBuilder

public class PlanetKitJoinConferenceSettingBuilder : NSObject
  • Allows a conference without a microphone.

    Remark

    The default value is false. When this value is false, if the system can’t access the microphone, it will cause PlanetKitDisconnectReason.micNoSource and end the call. If you want to keep the conference without microphone access, you should set this to true.

    Declaration

    Swift

    @objc
    public func withAllowConferenceWithoutMicKey(allow: Bool) -> PlanetKitJoinConferenceSettingBuilder
  • Sets preferred maximum video encoding settings.

    Remark

    The capability will be set internally by default according to the device type. The default capability is PlanetKitVideoCapability.conferenceSendDefault.

    Declaration

    Swift

    @objc
    public func withMyVideoSendCapabilityKey(capability: PlanetKitVideoCapability) -> PlanetKitJoinConferenceSettingBuilder
  • Sets preferred H/W codec usage settings.

    Remark

    The default value is true.

    Declaration

    Swift

    @objc
    public func withMyVideoRecvPreferredHwCodecKey(enable: Bool) -> PlanetKitJoinConferenceSettingBuilder
  • Enables sending and receiving screen share video.

    Remark

    This setting is supported only for iOS. The default setting is ‘false’, so if you don’t want to use screen share, do not use this key. Set information for interworking with the broadcast extension of ReplayKit.
  • Sets the maximum network link bandwidth for sending.

    Remark

    If the kbps value is 0 or not given, it will use the internal value by default.

    Declaration

    Swift

    @objc
    public func withMaxSendLinkBandwidthKey(kbps: UInt32) -> PlanetKitJoinConferenceSettingBuilder
  • Sets the maximum network link bandwidth for receiving.

    Remark

    If the kbps value is 0 or not given, it will use the internal value by default.

    Declaration

    Swift

    @objc
    public func withMaxRecvLinkBandwidthKey(kbps: UInt32) -> PlanetKitJoinConferenceSettingBuilder
  • Sets the preferred bitrate according to a video resolution.

    Remark

    If the kbps value is 0 or not given, it will use the internal value by default.

    Declaration

    Swift

    @objc
    public func withPreferredVideoResolutionBitrateKey(resolution: PlanetKitVideoResolution, kbps: UInt32) throws -> PlanetKitJoinConferenceSettingBuilder
  • Ignores VPIO service configuration.

    Declaration

    Swift

    @objc
    public func withIgnoreVpioServiceConfigKey(ignore: Bool) -> PlanetKitJoinConferenceSettingBuilder
  • Disables MLNS and enables WebRTC NS.

    Remark

    The MLNS (Multi Level Noise Suppressor, or Machine Learning based Noise Suppressor) will be activated by default, if the machine has sufficient CPU power. But, sometimes it produces unintended results and if you don’t want this, you can disable the MLNS feature by using this function. Currently, the MLNS is disabled by default in iOS.

    Declaration

    Swift

    @objc
    public func withDisableMLNSKey(disable: Bool) -> PlanetKitJoinConferenceSettingBuilder
  • Enables PlanetKit statistics.

    Remark

    Enable the PlanetKit statistics feature to use PlanetKitCall.statistics. Statistics will be updated at 200-millisecond intervals.

    Declaration

    Swift

    @objc
    public func withEnableStatisticsKey(enable: Bool) -> PlanetKitJoinConferenceSettingBuilder
  • Changes to a custom microphone controllable.

    Remark

    This is useful when a custom microphone controllable should be used for a conference from the beginning.

    Declaration

    Swift

    @objc
    public func withCustomMicKey(mic: PlanetKitAudioMicControllable) -> PlanetKitJoinConferenceSettingBuilder
  • Changes to a custom speaker controllable.

    Remark

    This is useful when a custom speaker controllable should be used for a conference from the beginning.

    Declaration

    Swift

    @objc
    public func withCustomSpkKey(spk: PlanetKitAudioSpkControllable) -> PlanetKitJoinConferenceSettingBuilder
  • Changes to a custom screen controllable.

    Remark

    This is useful when a custom screen controllable should be used for a conference from the beginning.

    Declaration

    Swift

    @objc
    public func withCustomScreenKey(screen: PlanetKitScreenControllable) -> PlanetKitJoinConferenceSettingBuilder
  • Changes to a custom screen share stream.

    Remark

    This is useful when a custom screen share stream should be used to implement a video modifier before the conference starts.

    Declaration

    Swift

    @objc
    public func withCustomScreenShareStreamKey(videoStream: PlanetKitVideoStream) -> PlanetKitJoinConferenceSettingBuilder
  • Sets CallKit settings.

    Remark

    Set PlanetKitCallKitSetting.type to .planetKit and set PlanetKitCallKitSetting.param to use PlanetKit’s internal CallKit. Set PlanetKitCallKitSetting.type to .user if the application uses its own implementation of CallKit. Make sure you call PlanetKitCall.notifyCallKitAudioActivation() on CXProviderDelegate.provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession). Otherwise, set PlanetKitCallKitSetting.type to .none. If withCallKitSettingsKey is not used, PlanetKitCallKitSetting.type will be .none by default. Please note that it is recommended that CallKit and PushKit are used together to handle VoIP push notifications. See more details at the link below. https://developer.apple.com/documentation/pushkit/responding_to_voip_notifications_from_pushkit
  • Sets whether to enable the updated event of audio description.

    Remark

    The default value is enabled.

    Declaration

    Swift

    @objc
    public func withEnableAudioDescriptionKey(enable: Bool) -> PlanetKitJoinConferenceSettingBuilder
  • Changes the interval for volume level updates.

    Remark

    The default interval is 0.5 seconds. The minimum value is 0.2 seconds. If less, the interval is set to 0.2 seconds. This interval value affects PlanetKitConference.setPeerAudioDescriptionReceiver(_:) and PlanetKitConference.setMyAudioDescriptionReceiver(_:).

    Declaration

    Swift

    @objc
    public func withAudioDescriptionUpdateIntervalKey(interval: TimeInterval) -> PlanetKitJoinConferenceSettingBuilder
  • Sets the end tone audio file for the conference.

    Declaration

    Swift

    @objc
    public func withSetEndToneKey(fileResourceUrl: URL) throws -> PlanetKitJoinConferenceSettingBuilder
  • Sets whether the end tone should be played regardless of the conference state.

    Remark

    When set to true, this function allows the end tone to be played regardless of the conference state. The default value is false.

    Declaration

    Swift

    @objc
    public func withPlayEndToneRegardlessOfConferenceStateKey(enable: Bool) throws -> PlanetKitJoinConferenceSettingBuilder
  • Builds the settings.

    The return value is used as an argument for the PlanetKitManager.joinConference(param:settings:) call.

    Declaration

    Swift

    @objc
    public func build() -> [String : Any]