一个辅助类,通过闭包回调封装本地参会者和会议事件监听器。 提供切换音视频、观察状态变化以及检查设备权限的方法。
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
rtkClient |
RealtimeKitClient |
✅ | - | RealtimeKit 客户端实例 |
identifier |
String |
❌ | "Default" |
此监听器实例的唯一标识符 |
| 方法 | 返回类型 | 描述 |
|---|---|---|
toggleLocalAudio(completion:) |
Void |
切换本地麦克风的开关状态 |
toggleLocalVideo(completion:) |
Void |
切换本地摄像头的开关状态 |
observeSelfVideo(update:) |
Void |
注册本地视频状态变化的回调 |
observeSelfAudio(update:) |
Void |
注册本地音频状态变化的回调 |
observeSelfRemoved(update:) |
Void |
注册本地参会者被移除时的回调 |
observeSelfMeetingEndForAll(update:) |
Void |
注册所有参会者会议结束时的回调 |
observeWebinarStageStatus(update:) |
Void |
注册网络研讨会舞台状态变化的回调 |
observeRequestToJoinStage(update:) |
Void |
注册舞台加入请求事件的回调 |
observeSelfPermissionChanged(update:) |
Void |
注册本地参会者权限变化的回调 |
observeMeetingReconnectionState(update:) |
Void |
注册会议重连状态变化的回调 |
isCameraPermissionGranted() |
Bool |
返回是否已授予摄像头权限 |
isMicrophonePermissionGranted() |
Bool |
返回是否已授予麦克风权限 |
clean() |
Void |
移除所有已注册的监听器并释放资源 |
import RealtimeKitUI
let listener = RtkEventSelfListener(rtkClient: rtkClient)
listener.observeSelfAudio { isEnabled in
print("Audio enabled: \(isEnabled)")
}
listener.observeSelfVideo { isEnabled in
print("Video enabled: \(isEnabled)")
}import RealtimeKitUI
let listener = RtkEventSelfListener(rtkClient: rtkClient)
listener.toggleLocalAudio { success in
print("Audio toggled: \(success)")
}
listener.toggleLocalVideo { success in
print("Video toggled: \(success)")
}import RealtimeKitUI
let listener = RtkEventSelfListener(
rtkClient: rtkClient,
identifier: "MeetingObserver"
)
listener.observeSelfRemoved {
print("Removed from meeting")
}
listener.observeSelfMeetingEndForAll {
print("Meeting ended for all")
}