Files
yingmeng-ios-switf/yinmeng-ios/Modules/Room/Tool/YinRoomAudioManager.swift

83 lines
1.9 KiB
Swift
Raw Normal View History

2024-03-22 11:54:23 +08:00
//
// YinRoomAudioanager.swift
// yinmeng-ios
//
// Created by yinmeng on 2024/3/22.
2024-03-22 11:54:23 +08:00
//
import UIKit
2024-03-23 16:28:10 +08:00
enum YinRoomAudioManagerType {
2024-03-22 15:46:25 +08:00
case trtc,agora
}
2024-03-22 11:54:23 +08:00
2024-03-23 16:28:10 +08:00
class YinRoomAudioManager: NSObject {
static let share = YinRoomAudioManager()
var type:YinRoomAudioManagerType = .trtc
var roomId = ""
2024-03-22 15:46:25 +08:00
func dealWithChatData(roomData:RoomDataModel){
if roomId == roomData.roomId{
return
}
roomId = roomData.roomId
2024-03-22 15:46:25 +08:00
type = roomData.audioSdkType == "trtc" ? .trtc : .agora
if type == .trtc{
2024-03-23 18:21:29 +08:00
roomTRTCManager.initRTRC()
2024-03-22 15:46:25 +08:00
roomTRTCManager.roomData = roomData
roomTRTCManager.setTRTC()
}else{
agoraManager.initAgora()
agoraManager.setAgora(roomUid: roomData.roomId)
2024-03-22 15:46:25 +08:00
}
}
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 = ""
2024-03-22 15:46:25 +08:00
}
//MARK: -
private lazy var roomTRTCManager:YinRoomTRTCManager = {
let _roomTRTCManager = YinRoomTRTCManager()
return _roomTRTCManager
}()
private lazy var agoraManager:YinRoomAgoraManager = {
let _agoraManager = YinRoomAgoraManager()
return _agoraManager
}()
2024-03-22 11:54:23 +08:00
}