2024-03-22 11:54:23 +08:00
|
|
|
//
|
|
|
|
// YinRoomAudioanager.swift
|
|
|
|
// yinmeng-ios
|
|
|
|
//
|
2024-03-23 20:47:19 +08:00
|
|
|
// 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
|
2024-03-25 11:47:10 +08:00
|
|
|
var roomId = ""
|
2024-03-22 15:46:25 +08:00
|
|
|
func dealWithChatData(roomData:RoomDataModel){
|
2024-03-25 11:47:10 +08:00
|
|
|
|
|
|
|
|
|
|
|
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{
|
2024-03-25 11:47:10 +08:00
|
|
|
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()
|
|
|
|
}
|
2024-03-25 11:47:10 +08:00
|
|
|
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
|
|
|
}
|