This commit is contained in:
启星
2025-08-08 10:49:36 +08:00
parent 6400cf78bb
commit b5ce3d580a
8780 changed files with 978183 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
//
// RoomService.swift
// TUIRoomKit
//
// Created by CY zhao on 2024/7/2.
//
import Foundation
import RTCRoomEngine
import ImSDK_Plus
import Combine
class RoomService {
private let engineManager = EngineManager.shared
func enterRoom(roomId: String,
options: TUIEnterRoomOptions? = nil,
enableAudio: Bool,
enableVideo: Bool,
isSoundOnSpeaker: Bool) -> AnyPublisher<Void, RoomError> {
return Future<Void, RoomError> { [weak self] promise in
guard let self = self else { return }
//TODO: use RTCRoomEngine directly
self.engineManager.enterRoom(roomId: roomId,
options: options,
enableAudio: enableAudio,
enableVideo: enableVideo,
isSoundOnSpeaker: isSoundOnSpeaker) { roomInfo in
promise(.success(()))
} onError: { error, message in
let error = RoomError(error: error, message: message)
promise(.failure(error))
}
}
.eraseToAnyPublisher()
}
}