提交
This commit is contained in:
152
TUIKit/TUICallKit/TUICallKit-Swift/TUICallKit.swift
Normal file
152
TUIKit/TUICallKit/TUICallKit-Swift/TUICallKit.swift
Normal file
@@ -0,0 +1,152 @@
|
||||
//
|
||||
// TUICallKit.swift
|
||||
// TUICallKit
|
||||
//
|
||||
// Created by vincepzhang on 2022/12/30.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import TUICallEngine
|
||||
|
||||
@objc
|
||||
public class TUICallKit: NSObject {
|
||||
|
||||
/**
|
||||
* Create a TUICallKit instance
|
||||
*/
|
||||
@objc
|
||||
public static func createInstance() -> TUICallKit {
|
||||
return TUICallKitImpl.instance
|
||||
}
|
||||
|
||||
/**
|
||||
* Set user profile
|
||||
*
|
||||
* @param nickname User name, which can contain up to 500 bytes
|
||||
* @param avatar User profile photo URL, which can contain up to 500 bytes
|
||||
* For example: https://liteav.sdk.qcloud.com/app/res/picture/voiceroom/avatar/user_avatar1.png
|
||||
*/
|
||||
@objc
|
||||
public func setSelfInfo(nickname: String, avatar: String, succ:@escaping TUICallSucc, fail: @escaping TUICallFail) {
|
||||
return TUICallKitImpl.instance.setSelfInfo(nickname: nickname, avatar: avatar, succ: succ, fail: fail)
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a call
|
||||
*
|
||||
* @param userId callees
|
||||
* @param callMediaType Call type
|
||||
*/
|
||||
@objc
|
||||
public func call(userId: String, callMediaType: TUICallMediaType) {
|
||||
return TUICallKitImpl.instance.call(userId: userId, callMediaType: callMediaType)
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a call
|
||||
*
|
||||
* @param userId callees
|
||||
* @param callMediaType Call type
|
||||
* @param params Extension param: eg: offlinePushInfo
|
||||
*/
|
||||
@objc
|
||||
public func call(userId: String, callMediaType: TUICallMediaType, params: TUICallParams,
|
||||
succ: @escaping TUICallSucc, fail: @escaping TUICallFail) {
|
||||
return TUICallKitImpl.instance.call(userId: userId, callMediaType: callMediaType, params: params, succ: succ, fail: fail)
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a group call
|
||||
*
|
||||
* @param groupId GroupId
|
||||
* @param userIdList List of userId
|
||||
* @param callMediaType Call type
|
||||
*/
|
||||
@objc
|
||||
public func groupCall(groupId: String, userIdList: [String], callMediaType: TUICallMediaType) {
|
||||
return TUICallKitImpl.instance.groupCall(groupId: groupId, userIdList: userIdList, callMediaType: callMediaType)
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a group call
|
||||
*
|
||||
* @param groupId GroupId
|
||||
* @param userIdList List of userId
|
||||
* @param callMediaType Call type
|
||||
* @param params Extension param: eg: offlinePushInfo
|
||||
*/
|
||||
@objc
|
||||
public func groupCall(groupId: String, userIdList: [String], callMediaType: TUICallMediaType, params: TUICallParams,
|
||||
succ: @escaping TUICallSucc, fail: @escaping TUICallFail) {
|
||||
return TUICallKitImpl.instance.groupCall(groupId: groupId, userIdList: userIdList, callMediaType: callMediaType, params: params,
|
||||
succ: succ, fail: fail)
|
||||
}
|
||||
|
||||
/**
|
||||
* Join a current call
|
||||
*
|
||||
* @param roomId current call room ID
|
||||
* @param callMediaType call type
|
||||
*/
|
||||
@objc
|
||||
public func joinInGroupCall(roomId: TUIRoomId, groupId: String, callMediaType: TUICallMediaType) {
|
||||
return TUICallKitImpl.instance.joinInGroupCall(roomId: roomId, groupId: groupId, callMediaType: callMediaType)
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the ringtone (preferably shorter than 30s)
|
||||
*
|
||||
* @param filePath Callee ringtone path
|
||||
*/
|
||||
@objc
|
||||
public func setCallingBell(filePath: String) {
|
||||
return TUICallKitImpl.instance.setCallingBell(filePath: filePath)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable the mute mode (the callee doesn't ring)
|
||||
*/
|
||||
@objc public func enableMuteMode(enable: Bool) {
|
||||
return TUICallKitImpl.instance.enableMuteMode(enable: enable)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable the floating window
|
||||
*/
|
||||
@objc
|
||||
public func enableFloatWindow(enable: Bool) {
|
||||
return TUICallKitImpl.instance.enableFloatWindow(enable: enable)
|
||||
}
|
||||
|
||||
/**
|
||||
* Support custom View
|
||||
*/
|
||||
@objc
|
||||
public func enableCustomViewRoute(enable: Bool) {
|
||||
return TUICallKitImpl.instance.enableCustomViewRoute(enable: enable)
|
||||
}
|
||||
|
||||
/**
|
||||
* Get TUICallKit ViewController
|
||||
*/
|
||||
@objc
|
||||
public func getCallViewController() -> UIViewController {
|
||||
return TUICallKitImpl.instance.getCallViewController()
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable Virtual Background
|
||||
*/
|
||||
@objc
|
||||
public func enableVirtualBackground(enable: Bool) {
|
||||
return TUICallKitImpl.instance.enableVirtualBackground(enable: enable)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable Incoming Banner
|
||||
*/
|
||||
@objc
|
||||
public func enableIncomingBanner(enable: Bool) {
|
||||
return TUICallKitImpl.instance.enableIncomingBanner(enable: enable)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user