PlanetKitJoinConferenceSettingBuilder
public class PlanetKitJoinConferenceSettingBuilder : NSObject
-
Allows a conference without a microphone.
Remark
The default value isfalse
. When this value isfalse
, if the system can’t access the microphone, it will causePlanetKitDisconnectReason.micNoSource
and end the call. If you want to keep the conference without microphone access, you should set this totrue
.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 isPlanetKitVideoCapability.conferenceSendDefault
.Declaration
Swift
@objc public func withMyVideoSendCapabilityKey(capability: PlanetKitVideoCapability) -> PlanetKitJoinConferenceSettingBuilder
-
Sets preferred H/W codec usage settings.
Remark
The default value istrue
.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 ofReplayKit
.Declaration
Swift
@objc public func withEnableScreenShareKey(broadcastPort: UInt16, broadcastPeerToken: String, broadcastMyToken: String) -> PlanetKitJoinConferenceSettingBuilder
-
Sets the maximum network link bandwidth for sending.
Remark
If thekbps
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 thekbps
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 thekbps
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 usePlanetKitCall.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
SetPlanetKitCallKitSetting.type
to.planetKit
and setPlanetKitCallKitSetting.param
to use PlanetKit’s internal CallKit. SetPlanetKitCallKitSetting.type
to.user
if the application uses its own implementation of CallKit. Make sure you callPlanetKitCall.notifyCallKitAudioActivation()
onCXProviderDelegate.provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession)
. Otherwise, setPlanetKitCallKitSetting.type
to.none
. IfwithCallKitSettingsKey
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_pushkitDeclaration
Swift
@objc public func withCallKitSettingsKey(setting: PlanetKitCallKitSetting) -> PlanetKitJoinConferenceSettingBuilder
-
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 affectsPlanetKitConference.setPeerAudioDescriptionReceiver(_:)
andPlanetKitConference.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 totrue
, this function allows the end tone to be played regardless of the conference state. The default value isfalse
.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]