概述
TXIoTMonitorSession 负责拉取设备实时监控画面,包括开始/停止会话、远端拉流与清晰度切换、与设备进行对讲、云台控制、截图与本地录制。TXIoTMonitorSession 通过 TXIoTEngine.getMonitorSession 获取实例,需在 TXIoTEngine 登录成功后调用。
说明:
回调模型:监控事件通过
TXIoTMonitorSessionDelegate 协议回调,所有 Delegate 回调在主线程触发。公共类型与错误码定义见 TXIoTEngineDef。方法列表
方法签名 | 描述 |
添加实时监控事件代理。 | |
移除实时监控事件代理。 | |
启动实时监控会话。 | |
停止实时监控会话。 | |
开始远端拉流和渲染。 | |
停止远端拉流和渲染。 | |
切换远端流的清晰度(高清/标清)。 | |
静音/取消静音单路远端音频。 | |
静音/取消静音所有远端音频。 | |
开始对讲(上行音频)。 | |
停止对讲。 | |
静音本地音频。 | |
开始本地视频采集和推送。 | |
停止本地视频采集和推送。 | |
发送云台控制指令。 | |
对当前正在观看的通道进行截图。 | |
开始对当前正在观看的通道进行录制。 | |
停止录制。 |
addDelegate:
addDelegate:
void addDelegate: | (id<TXIoTMonitorSessionDelegate> delegate) |
添加监控事件代理
参数 | 描述 |
delegate | id<TXIoTMonitorSessionDelegate>;监控事件代理对象。 |
removeDelegate:
removeDelegate:
void removeDelegate: | (id<TXIoTMonitorSessionDelegate> delegate) |
移除监控事件代理
参数 | 描述 |
delegate | id<TXIoTMonitorSessionDelegate>;要移除的监控事件代理对象。 |
startSession:
startSession:
void startSession: | (TXIoTDeviceId* deviceId) |
stopSession
stopSession
void stopSession | () |
停止监控会话
startRemoteView:streamType:view:
startRemoteView:streamType:view:
void startRemoteView:streamType:view: | (NSInteger channelId, TXIoTStreamType streamType, TXView* view) |
开始远端拉流渲染
参数 | 描述 |
channelId | NSInteger;通道 ID。 |
streamType | |
view | TXView*;用于渲染远端视频的视图。 |
stopRemoteView:
stopRemoteView:
void stopRemoteView: | (NSInteger channelId) |
停止远端拉流渲染
参数 | 描述 |
channelId | NSInteger;通道 ID。 |
switchRemoteStream:streamType:
switchRemoteStream:streamType:
void switchRemoteStream:streamType: | (NSInteger channelId, TXIoTStreamType streamType) |
切换远端流的清晰度(高清/标清)
参数 | 描述 |
channelId | NSInteger;通道 ID。 |
streamType |
muteRemoteAudio:mute:
muteRemoteAudio:mute:
void muteRemoteAudio:mute: | (NSInteger channelId, BOOL mute) |
静音/取消静音单路远端音频
参数 | 描述 |
channelId | NSInteger;通道 ID。 |
mute | BOOL;YES 静音,NO 取消静音。 |
muteAllRemoteAudio:
muteAllRemoteAudio:
void muteAllRemoteAudio: | (BOOL mute) |
静音/取消静音所有远端音频
参数 | 描述 |
mute | BOOL;YES 静音,NO 取消静音。 |
startLocalAudio
startLocalAudio
void startLocalAudio | () |
开始对讲(上行音频)
stopLocalAudio
stopLocalAudio
void stopLocalAudio | () |
停止对讲
muteLocalAudio:
muteLocalAudio:
void muteLocalAudio: | (BOOL mute) |
静音本地音频
参数 | 描述 |
mute | BOOL;YES 静音,NO 取消静音。 |
startLocalVideo:videoEncoderParams:
startLocalVideo:videoEncoderParams:
void startLocalVideo:videoEncoderParams: | (TXView* view, TXIoTVideoEncoderParams* videoEncoderParams) |
开始本地视频采集和推送
参数 | 描述 |
view | TXView*;用于渲染本地视频的视图。 |
videoEncoderParams |
stopLocalVideo
stopLocalVideo
void stopLocalVideo | () |
停止本地视频采集和推送
sendPTZCommand:command:speed:
sendPTZCommand:command:speed:
void sendPTZCommand:command:speed: | (NSInteger channelId, TXIoTPTZCommand command, NSInteger speed) |
发送云台控制指令
参数 | 描述 |
channelId | NSInteger;通道 ID。 |
command | |
speed | NSInteger;控制速度。 |
takeSnapshot:
takeSnapshot:
void takeSnapshot: | (NSInteger channelId) |
截图。截图结果通过
onSnapshotComplete 回调通知参数 | 描述 |
channelId | NSInteger;通道 ID。 |
startLocalRecording:params:
startLocalRecording:params:
void startLocalRecording:params: | (NSInteger channelId, TXIoTLocalRecordingParams* params) |
开始本地录制。录制状态通过 Delegate 回调通知
参数 | 描述 |
channelId | NSInteger;通道 ID。 |
params |
stopLocalRecording:
stopLocalRecording:
void stopLocalRecording: | (NSInteger channelId) |
停止本地录制
参数 | 描述 |
channelId | NSInteger;通道 ID。 |
监控事件回调
TXIoTMonitorSessionDelegate 协议定义监控事件回调,所有方法均为 @optional。TXIoTMonitorSessionDelegate
回调 | 说明 |
onError:errorCode:errorMessage: | |
onSessionEstablished | 实时监控会话建立成功。 |
onSessionReconnecting | 实时监控会话重连中。 |
onSessionRecovery | 实时监控会话恢复。 |
onRemoteStreamAvailable:available: | 远端流可用性变化。 |
onRenderFirstFrame: | 首帧渲染完成。 |
onPlayStateChanged:state: | 播放状态变化。 |
onSnapshotComplete:image:errorCode: | 截图完成。 |
onLocalRecordBegin:errorCode:storagePath: | 本地录制开始。 |
onLocalRecording:durationMs:storagePath: | 本地录制进行中。 |
onLocalRecordComplete:errorCode:storagePath: | 本地录制完成。 |
监控相关数据结构与枚举
TXIoTVideoEncoderParams
TXIoTVideoEncoderParams
字段 | 说明 |
resolution | 视频编码分辨率。 |
TXIoTLocalRecordingParams
TXIoTLocalRecordingParams
字段 | 说明 |
filePath | 本地录制文件保存路径。 |
TXIoTStreamType
TXIoTStreamType
枚举 | 取值 | 说明 |
TXIoTStreamTypeHD | 0 | 高清 |
TXIoTStreamTypeSD | 1 | 标清 |
TXIoTPTZCommand
TXIoTPTZCommand
枚举 | 取值 | 说明 |
TXIoTPTZCommandUp | 0 | 上 |
TXIoTPTZCommandDown | 1 | 下 |
TXIoTPTZCommandLeft | 2 | 左 |
TXIoTPTZCommandRight | 3 | 右 |
TXIoTPTZCommandZoomIn | 4 | 放大 |
TXIoTPTZCommandZoomOut | 5 | 缩小 |
TXIoTPTZCommandStop | 6 | 停止 |
TXIoTPlayState
TXIoTPlayState
枚举 | 取值 | 说明 |
TXIoTPlayStatePlaying | 0 | 正在播放 |
TXIoTPlayStateLoading | 1 | 加载中 |
TXIoTPlayStateStopped | 2 | 已停止 |
TXIoTVideoResolution
TXIoTVideoResolution
枚举 | 取值 | 说明 |
TXIoTVideoResolution_640_360 | 0 | 横屏 640×360 |
TXIoTVideoResolution_960_540 | 1 | 横屏 960×540 |
TXIoTVideoResolution_1280_720 | 2 | 横屏 1280×720 |
TXIoTVideoResolution_1920_1080 | 3 | 横屏 1920×1080 |
TXIoTVideoResolution_360_640 | 4 | 竖屏 360×640 |
TXIoTVideoResolution_540_960 | 5 | 竖屏 540×960 |
TXIoTVideoResolution_720_1280 | 6 | 竖屏 720×1280 |
TXIoTVideoResolution_1080_1920 | 7 | 竖屏 1080×1920 |