fix(live-room): 캡쳐 보호 음소거 동기화

This commit is contained in:
Yu Sung
2026-03-24 19:19:29 +09:00
parent 0844c6f4d7
commit 44daabdcae
3 changed files with 484 additions and 46 deletions

View File

@@ -523,6 +523,14 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
} else {
role = .LISTENER
}
if isSpeakerMute {
agora.speakerMute(true)
}
if isMute {
agora.mute(true)
}
DEBUG_LOG("agoraConnectSuccess")
@@ -673,22 +681,33 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
.store(in: &subscription)
}
func toggleMute() {
isMute.toggle()
agora.mute(isMute)
if isMute {
muteSpeakers.append(UInt(UserDefaults.int(forKey: .userId)))
func setMute(_ isMuted: Bool) {
isMute = isMuted
agora.mute(isMuted)
let userId = UInt(UserDefaults.int(forKey: .userId))
if isMuted {
if !muteSpeakers.contains(userId) {
muteSpeakers.append(userId)
}
} else {
if let index = muteSpeakers.firstIndex(of: UInt(UserDefaults.int(forKey: .userId))) {
if let index = muteSpeakers.firstIndex(of: userId) {
muteSpeakers.remove(at: index)
}
}
}
func toggleMute() {
setMute(!isMute)
}
func setSpeakerMute(_ isMuted: Bool) {
isSpeakerMute = isMuted
agora.speakerMute(isMuted)
}
func toggleSpeakerMute() {
isSpeakerMute.toggle()
agora.speakerMute(isSpeakerMute)
setSpeakerMute(!isSpeakerMute)
}
func sendMessage(chatMessage: String, onSuccess: @escaping () -> Void) {