PlanetKitVerifyCallSettingBuilder
public class PlanetKitVerifyCallSettingBuilder : NSObject
-
Controls whether the local user’s video starts immediately or not when the peer calls
enableVideo(completion:)
. The default value isPlanetKitResponseOnEnableVideo.pause
. See more onPlanetKitResponseOnEnableVideo
and visit https://docs.lineplanet.me/iosmacos/extended-functions/enable-video-call-from-audio-call.Declaration
Swift
@objc public func withResponseOnEnableVideo(response: PlanetKitResponseOnEnableVideo) -> PlanetKitVerifyCallSettingBuilder
-
Allows a call 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 call without microphone access, you should set this totrue
.Declaration
Swift
@objc public func withAllowCallWithoutMicKey(allow: Bool) -> PlanetKitVerifyCallSettingBuilder
-
Sets the ring tone audio file for the call.
Remark
The ring tone is played when a call is received, until it is accepted.Declaration
Swift
@objc public func withSetRingToneKey(fileResourceUrl: URL) throws -> PlanetKitVerifyCallSettingBuilder
-
Sets the end tone audio file for the call.
Remark
The end tone is played when the call ends, provided it was not terminated by the user.Declaration
Swift
@objc public func withSetEndToneKey(fileResourceUrl: URL) throws -> PlanetKitVerifyCallSettingBuilder
-
Sets whether the end tone should be played regardless of the call state.
Remark
When set totrue
, this function allows the end tone to be played regardless of the call state. The default value isfalse
.Declaration
Swift
@objc public func withPlayEndToneRegardlessOfCallStateKey(enable: Bool) throws -> PlanetKitVerifyCallSettingBuilder
-
Sets the hold tone audio file for the call.
Remark
The hold tone is played during a call when it is on hold.Declaration
Swift
@objc public func withSetHoldToneKey(fileResourceUrl: URL) throws -> PlanetKitVerifyCallSettingBuilder
-
Sets preferred maximum video encoding settings.
Remark
The capability will be set internally by default according to the device type. The default capability isPlanetKitVideoCapability.callSendDefault
.Declaration
Swift
@objc public func withMyVideoSendCapabilityKey(capability: PlanetKitVideoCapability) -> PlanetKitVerifyCallSettingBuilder
-
Sets preferred maximum video decoding settings.
Remark
The capability will be set internally by default according to the device type. The default capability isPlanetKitVideoCapability.callReceiveDefault
.Declaration
Swift
@objc public func withMyVideoReceiveCapabilityKey(capability: PlanetKitVideoCapability) -> PlanetKitVerifyCallSettingBuilder
-
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) -> PlanetKitVerifyCallSettingBuilder
-
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) -> PlanetKitVerifyCallSettingBuilder
-
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) -> PlanetKitVerifyCallSettingBuilder
-
Ignores VPIO service configuration.
Declaration
Swift
@objc public func withIgnoreVpioServiceConfigKey(ignore: Bool) -> PlanetKitVerifyCallSettingBuilder
-
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) -> PlanetKitVerifyCallSettingBuilder
-
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) -> PlanetKitVerifyCallSettingBuilder
-
Changes to a custom microphone controllable.
Remark
This is useful when a custom microphone controllable should be used for a call from the beginning.Declaration
Swift
@objc public func withCustomMicKey(mic: PlanetKitAudioMicControllable) -> PlanetKitVerifyCallSettingBuilder
-
Changes to a custom speaker controllable.
Remark
This is useful when a custom speaker controllable should be used for a call from the beginning.Declaration
Swift
@objc public func withCustomSpkKey(spk: PlanetKitAudioSpkControllable) -> PlanetKitVerifyCallSettingBuilder
-
Changes to a custom screen controllable.
Remark
This is useful when a custom screen controllable should be used for a call from the beginning.Declaration
Swift
@objc public func withCustomScreenKey(screen: PlanetKitScreenControllable) -> PlanetKitVerifyCallSettingBuilder
-
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 call starts.Declaration
Swift
@objc public func withCustomScreenShareStreamKey(videoStream: PlanetKitVideoStream) -> PlanetKitVerifyCallSettingBuilder
-
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) -> PlanetKitVerifyCallSettingBuilder
-
Sets whether to enable the updated event of audio description.
Remark
The default value is enabled.Declaration
Swift
@objc public func withEnableAudioDescriptionKey(enable: Bool) -> PlanetKitVerifyCallSettingBuilder
-
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 affectsPlanetKitCall.setPeerAudioDescriptionReceiver(_:)
andPlanetKitCall.setMyAudioDescriptionReceiver(_:)
.Declaration
Swift
@objc public func withAudioDescriptionUpdateIntervalKey(interval: TimeInterval) -> PlanetKitVerifyCallSettingBuilder
-
Builds the settings.
The return value is used as an argument for the
PlanetKitManager.verifyCall(myUserId:ccParam:settings:delegate:)
call.Declaration
Swift
@objc public func build() -> [String : Any]