Files
featherVoice/TUIKit/TUIRoomKit/Source/TUIRoomKit.swift
2025-08-08 10:49:36 +08:00

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)")
}
}