帮你快速理解、总结文档立即下载

TXIoTMonitorSession

最近更新时间:2026-10-27 17:33:32
本文档已由 AI 辅助审校
我的收藏

概述

TXIoTMonitorSession 负责拉取设备实时监控画面,包括开始/停止会话、远端拉流与清晰度切换、与设备进行对讲、云台控制、截图与本地录制。TXIoTMonitorSession 通过 TXIoTEngine.getMonitorSession 获取实例,需在登录成功后调用。
说明:
回调模型:所有 Listener 回调在主线程触发,公共类型与错误码定义见 TXIoTEngineDef。渲染视图参数 TXView 为 string 类型,传 ArkUI XComponent 组件的 id(该 XComponent 需设置 type: XComponentType.SURFACE、libraryname: 'liteavsdk')。

方法列表

方法签名
描述
addListener
添加实时监控事件监听器。
removeListener
移除实时监控事件监听器。
startSession
开启实时监控。
stopSession
停止实时监控。
startRemoteView
开始渲染远端视频流。
stopRemoteView
停止渲染远端视频流。
switchRemoteStream
切换远端视频流类型(高清/标清)。
muteRemoteAudio
静音/取消静音单路远端音频。
muteAllRemoteAudio
静音/取消静音所有远端音频。
startLocalAudio
开启本地音频采集和推送(用于实现对讲功能)。
stopLocalAudio
关闭本地音频采集和推送。
muteLocalAudio
静音/取消静音本地音频。
startLocalVideo
开启本地视频采集和推送。
stopLocalVideo
关闭本地视频采集和推送。
sendPTZCommand
发送云台控制指令。
takeSnapshot
对当前正在观看的通道进行截图。
startLocalRecording
开始对当前正在观看的通道进行录像。
stopLocalRecording
停止本地录像。

addListener

addListener
addListener
(listener: TXIoTMonitorSessionListener): void
添加实时监控事件监听器。
参数
描述
listener
TXIoTMonitorSessionListener;监听器实例。

removeListener

removeListener
removeListener
(listener: TXIoTMonitorSessionListener): void
移除实时监控事件监听器。
参数
描述
listener
TXIoTMonitorSessionListener;监听器实例。

startSession

startSession
startSession
(deviceId: TXIoTDeviceId): void
开启实时监控。
参数
描述
deviceId
TXIoTDeviceId;设备标识(含 productId / deviceName)。

stopSession

stopSession
stopSession
(): void
停止实时监控。

startRemoteView

startRemoteView
startRemoteView
(channelId: number, streamType: TXIoTStreamType, view: TXView): void
开始渲染远端视频流。
参数
描述
channelId
number;通道 ID,从 0 开始计数;单通道设备填 0。
streamType
TXIoTStreamType;视频流类型(高清/标清)。
view
TXView(string);视频渲染视图,传 XComponent 组件的 id。

stopRemoteView

stopRemoteView
stopRemoteView
(channelId: number): void
停止渲染远端视频流。
参数
描述
channelId
number;通道 ID。

switchRemoteStream

switchRemoteStream
switchRemoteStream
(channelId: number, streamType: TXIoTStreamType): void
切换远端视频流类型(高清/标清)。
参数
描述
channelId
number;通道 ID。
streamType
TXIoTStreamType;视频流类型(高清/标清)。

muteRemoteAudio

muteRemoteAudio
muteRemoteAudio
(channelId: number, mute: boolean): void
静音/取消静音单路远端音频。
参数
描述
channelId
number;通道 ID。
mute
boolean;是否静音。

muteAllRemoteAudio

muteAllRemoteAudio
muteAllRemoteAudio
(mute: boolean): void
静音/取消静音所有远端音频。
参数
描述
mute
boolean;是否静音。

startLocalAudio

startLocalAudio
startLocalAudio
(): void
开启本地音频采集和推送(用于实现对讲功能)。

stopLocalAudio

stopLocalAudio
stopLocalAudio
(): void
停止本地音频采集和推送。

muteLocalAudio

muteLocalAudio
muteLocalAudio
(mute: boolean): void
静音/取消静音本地音频。
参数
描述
mute
boolean;是否静音。

startLocalVideo

startLocalVideo
startLocalVideo
(view: TXView, videoEncoderParams: TXIoTVideoEncoderParams): void
开启本地视频采集和推送。
参数
描述
view
TXView(string);本地预览渲染视图,传 XComponent 组件的 id。
videoEncoderParams
TXIoTVideoEncoderParams;视频编码参数。

stopLocalVideo

stopLocalVideo
stopLocalVideo
(): void
停止本地视频采集和推送。

sendPTZCommand

sendPTZCommand
sendPTZCommand
(channelId: number, command: TXIoTPTZCommand, speed: number): void
发送云台控制指令。
参数
描述
channelId
number;通道 ID。
command
TXIoTPTZCommand;云台控制指令。
speed
number;云台运动速度。

takeSnapshot

takeSnapshot
takeSnapshot
(channelId: number): void
对当前正在观看的通道进行截图。
参数
描述
channelId
number;通道 ID。
说明:
截图结果通过 onSnapshotComplete 回调返回,成功时 image 为 image.PixelMap 对象(@ohos.multimedia.image),失败时为 null。

startLocalRecording

startLocalRecording
startLocalRecording
(channelId: number, params: TXIoTLocalRecordingParams): void
开始对当前正在观看的通道进行录像。
参数
描述
channelId
number;通道 ID。
params
TXIoTLocalRecordingParams;本地录像参数。

stopLocalRecording

stopLocalRecording
stopLocalRecording
(channelId: number): void
停止本地录像。
参数
描述
channelId
number;通道 ID。

监控事件回调

TXIoTMonitorSessionListener 为 ArkTS 接口,所有回调方法均为可选,调用方可按需实现。
TXIoTMonitorSessionListener
回调方法
说明
onError(channelId: number, errCode: TXIoTErrorCode, errMsg: string)
监控发生错误。
onSessionEstablished()
监控会话建立成功。
onSessionReconnecting()
会话重连中。
onSessionRecovery()
会话恢复成功。
onRemoteStreamAvailable(channelId: number, available: boolean)
远端流可用性变化。
onRenderFirstFrame(channelId: number)
首帧渲染完成。
onPlayStateChanged(channelId: number, state: TXIoTPlayState)
播放状态变化。
onSnapshotComplete(channelId: number, image: image.PixelMap | null, errCode: TXIoTErrorCode)
截图完成,成功时 image 非 null。
onLocalRecordBegin(channelId: number, errCode: TXIoTErrorCode, storagePath: string)
本地录像开始。
onLocalRecording(channelId: number, durationMs: number, storagePath: string)
本地录像进行中,周期性回调时长(单位:毫秒)。
onLocalRecordComplete(channelId: number, errCode: TXIoTErrorCode, storagePath: string)
本地录像完成。

监控相关数据结构与枚举

TXIoTStreamType

TXIoTStreamType
枚举
说明
HD
高清。
SD
标清。

TXIoTPTZCommand

TXIoTPTZCommand
枚举
说明
UP
上。
DOWN
下。
LEFT
左。
RIGHT
右。
ZOOM_IN
变焦放大。
ZOOM_OUT
变焦缩小。
STOP
停止。

TXIoTPlayState

TXIoTPlayState
枚举
说明
PLAYING
正在播放。
LOADING
加载中。
STOPPED
已停止。

TXIoTVideoResolution

TXIoTVideoResolution
枚举
说明
RESOLUTION_640_360
横屏 640×360。
RESOLUTION_960_540
横屏 960×540。
RESOLUTION_1280_720
横屏 1280×720。
RESOLUTION_1920_1080
横屏 1920×1080。
RESOLUTION_360_640
竖屏 360×640。
RESOLUTION_540_960
竖屏 540×960。
RESOLUTION_720_1280
竖屏 720×1280。
RESOLUTION_1080_1920
竖屏 1080×1920。

TXIoTVideoEncoderParams

TXIoTVideoEncoderParams
字段
说明
resolution
视频编码分辨率,见 TXIoTVideoResolution,默认为 RESOLUTION_640_360。

TXIoTLocalRecordingParams

TXIoTLocalRecordingParams
字段
说明
filePath
录像文件保存路径。