TUIRoomKit.swift 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //
  2. // TUIRoomKit.swift
  3. // TUIRoomKit
  4. //
  5. // Created by WesleyLei on 2022/9/13.
  6. // Copyright © 2022 Tencent. All rights reserved.
  7. //
  8. import Foundation
  9. import RTCRoomEngine
  10. @available(*, deprecated, message: "Use ConferenceMainViewController instead.")
  11. @objcMembers public class TUIRoomKit: NSObject {
  12. private static var _shared: TUIRoomKit?
  13. public class func createInstance() -> TUIRoomKit {
  14. guard let instance = _shared else {
  15. let roomKit = TUIRoomKit()
  16. _shared = roomKit
  17. return roomKit
  18. }
  19. return instance
  20. }
  21. public class func destroyInstance() {
  22. TUIRoomKit._shared = nil
  23. }
  24. private override init() {
  25. super.init()
  26. }
  27. public func setSelfInfo(userName: String, avatarURL: String, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock) {
  28. EngineManager.shared.setSelfInfo(userName: userName, avatarURL: avatarURL, onSuccess: onSuccess, onError: onError)
  29. }
  30. public func createRoom(roomInfo: TUIRoomInfo, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock) {
  31. EngineManager.shared.createRoom(roomInfo: roomInfo, onSuccess: onSuccess, onError: onError)
  32. }
  33. public func enterRoom(roomId: String, enableAudio: Bool, enableVideo: Bool, isSoundOnSpeaker: Bool,
  34. onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock) {
  35. EngineManager.shared.enterRoom(roomId: roomId, enableAudio: enableAudio, enableVideo: enableVideo,
  36. isSoundOnSpeaker: isSoundOnSpeaker) { roomInfo in
  37. RoomRouter.shared.pushMainViewController()
  38. } onError: { code, message in
  39. onError(code, message)
  40. }
  41. }
  42. deinit {
  43. debugPrint("deinit \(self)")
  44. }
  45. }