54 lines
1.8 KiB
Swift
54 lines
1.8 KiB
Swift
//
|
|
// TUIRoomKit.swift
|
|
// TUIRoomKit
|
|
//
|
|
// Created by WesleyLei on 2022/9/13.
|
|
// Copyright © 2022 Tencent. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import RTCRoomEngine
|
|
|
|
@available(*, deprecated, message: "Use ConferenceMainViewController instead.")
|
|
@objcMembers public class TUIRoomKit: NSObject {
|
|
private static var _shared: TUIRoomKit?
|
|
public class func createInstance() -> TUIRoomKit {
|
|
guard let instance = _shared else {
|
|
let roomKit = TUIRoomKit()
|
|
_shared = roomKit
|
|
return roomKit
|
|
}
|
|
return instance
|
|
}
|
|
|
|
public class func destroyInstance() {
|
|
TUIRoomKit._shared = nil
|
|
}
|
|
|
|
private override init() {
|
|
super.init()
|
|
}
|
|
|
|
public func setSelfInfo(userName: String, avatarURL: String, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock) {
|
|
EngineManager.shared.setSelfInfo(userName: userName, avatarURL: avatarURL, onSuccess: onSuccess, onError: onError)
|
|
}
|
|
|
|
public func createRoom(roomInfo: TUIRoomInfo, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock) {
|
|
EngineManager.shared.createRoom(roomInfo: roomInfo, onSuccess: onSuccess, onError: onError)
|
|
}
|
|
|
|
public func enterRoom(roomId: String, enableAudio: Bool, enableVideo: Bool, isSoundOnSpeaker: Bool,
|
|
onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock) {
|
|
EngineManager.shared.enterRoom(roomId: roomId, enableAudio: enableAudio, enableVideo: enableVideo,
|
|
isSoundOnSpeaker: isSoundOnSpeaker) { roomInfo in
|
|
RoomRouter.shared.pushMainViewController()
|
|
} onError: { code, message in
|
|
onError(code, message)
|
|
}
|
|
}
|
|
|
|
deinit {
|
|
debugPrint("deinit \(self)")
|
|
}
|
|
}
|