// // YinRoomAudioanager.swift // yinmeng-ios // // Created by yinmeng on 2024/3/22. // import UIKit enum YinRoomAudioManagerType { case trtc,agora } class YinRoomAudioManager: NSObject { static let share = YinRoomAudioManager() var type:YinRoomAudioManagerType = .trtc var roomId = "" func dealWithChatData(roomData:RoomDataModel){ if roomId == roomData.roomId{ return } roomId = roomData.roomId type = roomData.audioSdkType == "trtc" ? .trtc : .agora if type == .trtc{ roomTRTCManager.initRTRC() roomTRTCManager.roomData = roomData roomTRTCManager.setTRTC() }else{ agoraManager.initAgora() agoraManager.setAgora(roomUid: roomData.roomId) } } func muteLocalAudio(mute:Bool){ if type == .trtc{ roomTRTCManager.muteLocalAudio(mute: mute) }else{ agoraManager.muteLocalAudio(mute: mute) } } func setBroadcast(isChange:Bool){ if type == .trtc{ roomTRTCManager.setBroadcast(isChange: isChange) }else{ agoraManager.setBroadcast(isChange: isChange) } } func exitRoom(){ if type == .trtc{ roomTRTCManager.exitRoom() }else{ agoraManager.exitRoom() } } func destroySharedIntance(){ if type == .trtc{ roomTRTCManager.destroySharedIntance() }else{ agoraManager.destroySharedIntance() } roomId = "" } //MARK: - 懒加载 private lazy var roomTRTCManager:YinRoomTRTCManager = { let _roomTRTCManager = YinRoomTRTCManager() return _roomTRTCManager }() private lazy var agoraManager:YinRoomAgoraManager = { let _agoraManager = YinRoomAgoraManager() return _agoraManager }() }