通过阅读本文,您可以了解Ohos SDK回调及监听的接口详情。
目录
DingRtcEventListener: 回调及监听
API | 描述 | 支持的最低版本 |
加入频道回调。 | 3.0 | |
离开频道回调。 | 3.0 | |
频道剩余时长回调。 | 3.0 | |
音频推流变更回调。 | 3.0 | |
视频推流变更回调。 | 3.0 | |
屏幕分享推流变更回调。 | 3.0 | |
音频订阅情况变更回调。 | 3.0 | |
相机流订阅情况变更回调。 | 3.0 | |
大小流订阅情况变更回调。 | 3.0 | |
屏幕分享流订阅情况变更回调。 | 3.0 | |
网络质量变化时发出的消息。 | 3.0 | |
警告通知。 | 3.0 | |
错误通知。 | 3.0 | |
网络连接状态改变。 | 3.0 | |
远端用户(通信模式)加入频道回调。 | 3.0 | |
远端用户(通信模式)离开频道回调。 | 3.0 | |
远端用户的音视频流发生变化回调。 | 3.0 | |
远端用户的第一帧视频帧显示时触发这个消息。 | 3.0 | |
视频渲染接收到远端视频分辨率有变化时触发此回调。 | 3.2.1 | |
视频渲染接收到本地视频分辨率有变化时触发此回调。 | 3.2.1 | |
预览开始显示第一帧视频帧时触发这个消息。 | 3.0 | |
收到远端用户视频首帧的回调。 | 3.0 | |
视频首包发送回调。 | 3.0 | |
音频首包发送回调。 | 3.0 | |
视频首包接收回调。 | 3.0 | |
音频首包接收回调。 | 3.0 | |
被服务器踢出/会议结束频道的消息。 | 3.0 | |
实时数据回调(2s触发一次)。 | 3.0 | |
远端用户静音/取消静音回调。 | 3.0 | |
远端用户暂停/恢复视频流发送的通知。 | 3.0 | |
远端用户关闭相机流采集发送通知。 | 3.5 | |
远端用户应用退到后台 | 3.5 | |
远端用户应用返回前台 | 3.5 | |
发布视频流的数据统计。 | 3.0 | |
订阅视频流的数据统计。 | 3.0 | |
订阅远端音频流的数据统计。 | 3.0 | |
订阅本地音频流。 | 3.0 | |
远端用户音量提示回调。 | 3.0 | |
采集音量提示回调 | 3.0 | |
播放音量提示回调 | 3.0 | |
本地音频设备状态变更。 | 3.4.1 | |
本地视频设备状态变更。 | 3.4.1 | |
远端用户视频分辨率变化通知。 | 3.0 |
Methods
onAudioDeviceStateChanged
onAudioDeviceStateChanged(deviceId: string, deviceType: DingRtcConstants.RtcEngineDeviceType, deviceState: number): void
Parameters
deviceId: string
设备id。
deviceType: DingRtcConstants.RtcEngineDeviceType
设备类型。
deviceState: number
设备状态。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
本地音频设备状态变更。
onAudioPublishStateChanged
onAudioPublishStateChanged(oldState: DingRtcConstants.RtcEnginePublishState, newState: DingRtcConstants.RtcEnginePublishState, elapseSinceLastState: number, channel: string): void
Parameters
oldState: DingRtcConstants.RtcEnginePublishState
之前的推流状态。
newState: DingRtcConstants.RtcEnginePublishState
当前的推流状态。
elapseSinceLastState: number
状态变更时间间隔。
channel: string
当前频道id。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
音频推流变更回调。
onAudioRouteChanged
onAudioRouteChanged(audioRouteType: DingRtcConstants.RtcEngineAudioRouteType): void
Parameters
audioRouteType: DingRtcConstants.RtcEngineAudioRouteType
}
Returns
void
Brief
音频路由发生变化回调。
Details
所谓“音频路由”,是指声音是从手机的扬声器还是从听筒中播放出来,音频路由变化也就是声音的播放位置发生了变化。
当音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
当音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。
onAudioSubscribeStateChanged
onAudioSubscribeStateChanged(uid: string, oldState: DingRtcConstants.RtcEngineSubscribeState, newState: DingRtcConstants.RtcEngineSubscribeState, elapseSinceLastState: number, channel: string): void
Parameters
uid: string
userId,从App server分配的唯一标示符。
oldState: DingRtcConstants.RtcEngineSubscribeState
之前的订阅状态。
newState: DingRtcConstants.RtcEngineSubscribeState
当前的订阅状态。
elapseSinceLastState: number
两次状态变更时间间隔(毫秒)。
channel: string
当前频道id。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
音频订阅情况变更回调。
onAudioVolumeIndication
onAudioVolumeIndication(speakers: Array<DingRtcConstants.RtcAudioVolumeInfo>, speakerNumber: number): void
TypeParameters
DingRtcConstants.RtcAudioVolumeInfo
Parameters
speakers: Array<DingRtcConstants.RtcAudioVolumeInfo>
,如果 speakers 为空,则表示远端用户不发流或没有远端用户。uid为"0"表示本地说话人
speakerNumber: number
用户数量。
Returns
void
Since
3.0
Brief
用户音量提示回调。
onBye
onBye(code: DingRtcConstants.RtcEngineOnByeType): void
Parameters
code: DingRtcConstants.RtcEngineOnByeType
。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
被服务器踢出频道的消息。
onChannelRemainingTimeNotify
onChannelRemainingTimeNotify(remainingTimeInSec: number): void
Parameters
remainingTimeInSec: number
频道剩余时长,单位秒。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
频道剩余时长回调。
onConnectionStatusChanged
onConnectionStatusChanged(status: DingRtcConstants.RtcEngineConnectionStatus, reason: DingRtcConstants.RtcEngineConnectionStatusChangeReason): void
Parameters
status: DingRtcConstants.RtcEngineConnectionStatus
当前网络链接状态。
reason: DingRtcConstants.RtcEngineConnectionStatusChangeReason
网络链接状态改变原因。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
网络连接状态改变的回调。
onFirstAudioPacketReceived
onFirstAudioPacketReceived(uid: string, timeCost: number): void
Parameters
uid: string
远端用户ID,从App server分配的唯一标识符。
timeCost: number
接收耗时,从入会开始到音频首包接收到的耗时。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
音频首包接收回调。
Details
在接收到远端首个音频数据包时触发此回调。
onFirstAudioPacketSend
onFirstAudioPacketSend(timeCost: number): void
Parameters
timeCost: number
发送耗时,从入会开始到音频首包发送出去的耗时。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
音频首包发送回调。
Details
在首个音频数据包发送出去时触发此回调。
onFirstLocalVideoFrameDrawn
onFirstLocalVideoFrameDrawn(width: number, height: number, elapsed: number): void
Parameters
width: number
本地预览视频宽度。
height: number
本地预览视频高度。
elapsed: number
从本地用户加入频道直至该回调触发的延迟总耗时(毫秒)。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
预览开始显示第一帧视频帧时触发这个消息。
Note
该接口用于预览开始显示第一帧视频帧时的回调。
onFirstRemoteVideoFrameDrawn
onFirstRemoteVideoFrameDrawn(uid: string, videoTrack: DingRtcConstants.RtcEngineVideoTrack, width: number, height: number, elapsed: number): void
Parameters
uid: string
user id。
videoTrack: DingRtcConstants.RtcEngineVideoTrack
。
width: number
视频宽度。
height: number
视频高度。
elapsed: number
本地用户加入频道直至该回调触发的延迟总耗时(毫秒)。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
远端用户的第一帧视频帧显示时触发这个消息。
Note
该接口用于远端用户的第一帧视频帧显示时的回调。
onFirstVideoFrameReceived
onFirstVideoFrameReceived(uid: string, videoTrack: DingRtcConstants.RtcEngineVideoTrack, timeCost: number): void
Parameters
uid: string
User ID,从App server分配的唯一标示符。
videoTrack: DingRtcConstants.RtcEngineVideoTrack
接收视频track。
timeCost: number
耗时(毫秒)。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
收到远端用户视频首帧的回调。
Note
该接口用于收到远端用户视频首帧的回调。
onFirstVideoPacketReceived
onFirstVideoPacketReceived(uid: string, videoTrack: DingRtcConstants.RtcEngineVideoTrack, timeCost: number): void
Parameters
uid: string
User ID,从App server分配的唯一标示符。
videoTrack: DingRtcConstants.RtcEngineVideoTrack
接收视频track。
timeCost: number
耗时(毫秒)。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
视频首包接收回调。
Note
该接口用于视频首包接收的回调。
onFirstVideoPacketSend
onFirstVideoPacketSend(videoTrack: DingRtcConstants.RtcEngineVideoTrack, timeCost: number): void
Parameters
videoTrack: DingRtcConstants.RtcEngineVideoTrack
发送视频track。
timeCost: number
耗时(毫秒)。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
视频首包发送回调。
Note
该接口用于视频首包发送的回调。
onJoinChannelResult
onJoinChannelResult(result: number, channel: string, userId: string, elapsed: number): void
Parameters
result: number
加入频道结果,成功返回0,失败返回错误码。
channel: string
频道id。
userId: string
用户ID。
elapsed: number
加入频道耗时。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
加入频道结果。
Details
方法时,该回调表示成功/失败加入频道,并且返回频道加入的相关信息以及加入频道耗时。
onLeaveChannelResult
onLeaveChannelResult(result: number, stats: DingRtcConstants.Stats): void
Parameters
result: number
离开频道结果,成功返回0,失败返回错误码。
stats: DingRtcConstants.Stats
本次频道内会话的数据统计汇总。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
离开频道结果。
Details
SDK,将不会收到此回调。
onLocalAudioStats
onLocalAudioStats(localAudioStats: DingRtcConstants.LocalAudioStats): void
Parameters
localAudioStats: DingRtcConstants.LocalAudioStats
本地音频统计信息。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
本地音频统计信息。
Note
SDK周期触发一次此统计信息回调。
onLocalVideoStats
onLocalVideoStats(localVideoStats: DingRtcConstants.LocalVideoStats): void
Parameters
localVideoStats: DingRtcConstants.LocalVideoStats
本地视频统计信息。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
本地视频统计信息。
Note
SDK周期触发一次此统计信息回调。
onNetworkQualityChanged
onNetworkQualityChanged(uid: string, upQuality: DingRtcConstants.RtcEngineNetworkQuality, downQuality: DingRtcConstants.RtcEngineNetworkQuality): void
Parameters
uid: string
网络质量发生变化的用户uid。
upQuality: DingRtcConstants.RtcEngineNetworkQuality
。
downQuality: DingRtcConstants.RtcEngineNetworkQuality
。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
网络质量变化时发出的消息。
Note
当网络质量发生变化时触发,uid为空时代表用户自己的网络质量发生变化。
onOccurError
onOccurError(error: number, msg: string): void
Parameters
error: number
。
msg: string
错误描述。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
如果engine出现error,通过这个消息通知app。
onOccurWarning
onOccurWarning(warn: number, msg: string): void
Parameters
warn: number
警告类型。
msg: string
警告信息。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
如果engine出现warning,通过这个消息通知app。
onPlayoutDeviceAudioLevel
onPlayoutDeviceAudioLevel(level: number): void
Parameters
level: number
音频播放设备音量值,取值[0, 100]。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
音频播放设备音量回调。
onRecordingDeviceAudioLevel
onRecordingDeviceAudioLevel(level: number): void
Parameters
level: number
音频采集设备音量值,取值[0, 100]。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
音频采集设备音量回调。
onRemoteAudioStats
onRemoteAudioStats(remoteAudioStats: DingRtcConstants.RemoteAudioStats): void
Parameters
remoteAudioStats: DingRtcConstants.RemoteAudioStats
远端音频统计信息。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
远端音频统计信息。
Note
SDK周期触发一次此统计信息回调。
onRemoteTrackAvailableNotify
onRemoteTrackAvailableNotify(uid: string, audioTrack: DingRtcConstants.RtcEngineAudioTrack, videoTrack: DingRtcConstants.RtcEngineVideoTrack): void
Parameters
uid: string
userId,从App server分配的唯一标示符。
audioTrack: DingRtcConstants.RtcEngineAudioTrack
。
videoTrack: DingRtcConstants.RtcEngineVideoTrack
。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
远端用户的音视频流发生变化回调。
Details
该回调在以下场景会被触发:
当远端用户从未推流变更为推流(包括音频和视频)。
当远端用户从已推流变更为未推流(包括音频和视频)。
onRemoteUserOffLineNotify
onRemoteUserOffLineNotify(uid: string, reason: DingRtcConstants.UserOfflineReason): void
Parameters
uid: string
用户ID 从App server分配的唯一标示符。
reason: DingRtcConstants.UserOfflineReason
。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
远端用户离开频道回调。
onRemoteUserOnLineNotify
onRemoteUserOnLineNotify(uid: string, elapsed: number): void
Parameters
uid: string
用户ID 从App server分配的唯一标示符。
elapsed: number
用户加入频道时的耗时。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
远端用户加入频道回调。
onRemoteVideoStats
onRemoteVideoStats(remoteVideoStats: DingRtcConstants.RemoteVideoStats): void
Parameters
remoteVideoStats: DingRtcConstants.RemoteVideoStats
远端视频统计信息。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
远端视频统计信息。
Note
SDK周期触发一次此统计信息回调。
onRenderLocalVideoSizeChanged
onRenderLocalVideoSizeChanged(videoTrack: DingRtcConstants.RtcEngineVideoTrack, newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void
Parameters
videoTrack: DingRtcConstants.RtcEngineVideoTrack
本地视频track。
newWidth: number
变化后新的视频宽度
newHeight: number
变化后新的视频高度
oldWidth: number
变化前旧的视频宽度
oldHeight: number
变化前旧的视频高度
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.2.1
Brief
视频渲染接收到本地视频分辨率有变化时触发此回调。
Note
视频大小可能和摄像头采集到的视频大小不相等,比如在采集之后存在缩放等处理。
onRenderRemoteVideoSizeChanged
onRenderRemoteVideoSizeChanged(uid: string, videoTrack: DingRtcConstants.RtcEngineVideoTrack, newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void
Parameters
uid: string
userId,从App server分配的唯一标示符。
videoTrack: DingRtcConstants.RtcEngineVideoTrack
接收视频track。
newWidth: number
变化后新的视频宽度
newHeight: number
变化后新的视频高度
oldWidth: number
变化前旧的视频宽度
oldHeight: number
变化前旧的视频高度
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.2.1
Brief
视频渲染接收到远端视频分辨率有变化时触发此回调。
Note
视频大小可能和解码器输出的视频大小不相等,如果使用了超分一类的视频后处理。
Note
因为simulcast的存在,以及动态调整分辨率,横竖屏变化,视频大小和远端设置的最大推流分辨率不一定相同。
onScreenSharePublishStateChanged
onScreenSharePublishStateChanged(oldState: DingRtcConstants.RtcEnginePublishState, newState: DingRtcConstants.RtcEnginePublishState, elapseSinceLastState: number, channel: string): void
Parameters
oldState: DingRtcConstants.RtcEnginePublishState
之前的推流状态。
newState: DingRtcConstants.RtcEnginePublishState
当前的推流状态。
elapseSinceLastState: number
状态变更时间间隔。
channel: string
当前频道id。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
屏幕分享推流变更回调。
onScreenShareSubscribeStateChanged
onScreenShareSubscribeStateChanged(uid: string, oldState: DingRtcConstants.RtcEngineSubscribeState, newState: DingRtcConstants.RtcEngineSubscribeState, elapseSinceLastState: number, channel: string): void
Parameters
uid: string
userId,从App server分配的唯一标示符。
oldState: DingRtcConstants.RtcEngineSubscribeState
之前的订阅状态。
newState: DingRtcConstants.RtcEngineSubscribeState
当前的订阅状态。
elapseSinceLastState: number
两次状态变更时间间隔(毫秒)。
channel: string
当前频道id。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
屏幕分享流订阅情况变更回调。
onSnapshotComplete
onSnapshotComplete(uid: string, videoTrack: DingRtcConstants.RtcEngineVideoTrack, filePath: string, width: number, height: number, success: boolean): void
Parameters
uid: string
用户id,为空或者为""代表本地用户。
videoTrack: DingRtcConstants.RtcEngineVideoTrack
。
filePath: string
截图的本地保存路径。
width: number
截图宽度。
height: number
截图高度。
success: boolean
截图是否成功。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
视频截图回调。
Note
该接口用于截图回调。
onStats
onStats(stats: DingRtcConstants.Stats): void
Parameters
stats: DingRtcConstants.Stats
会话统计信息。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
当前会话统计信息回调。
Note
SDK周期触发一次此统计信息回调。
onSubscribeStreamTypeChanged
onSubscribeStreamTypeChanged(uid: string, oldStreamType: DingRtcConstants.RtcEngineVideoStreamType, newStreamType: DingRtcConstants.RtcEngineVideoStreamType, elapseSinceLastState: number, channel: string): void
Parameters
uid: string
userId,从App server分配的唯一标示符。
oldStreamType: DingRtcConstants.RtcEngineVideoStreamType
之前的订阅的视频档次。
newStreamType: DingRtcConstants.RtcEngineVideoStreamType
当前的订阅的视频档次。
elapseSinceLastState: number
视频档次变更时间间隔(毫秒)。
channel: string
当前频道id。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
不同档次视频订阅情况变更回调。
Note
订闭某个视频档次,并不表示一定能够收到该档次的视频。接收到的档次取決于推流情況以及网络情況。
onUserAudioMuted
onUserAudioMuted(uid: string, isMute: boolean): void
Parameters
uid: string
远端用户ID。
isMute: boolean
该用户是否静音。
true:静音。
false:取消静音。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
远端用户静音/取消静音回调。
onUserVideoEnabled
onUserVideoEnabled(uid: string, enabled: boolean): void
Parameters
uid: string
远端用户ID。
enabled: boolean
- true:打开相机流采集。 - false:关闭相机流采集。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.5
Brief
远端用户关闭相机流采集发送通知。
onUserVideoMuted
onUserVideoMuted(uid: string, isMute: boolean, videoTrack: DingRtcConstants.RtcEngineVideoTrack): void
Parameters
uid: string
远端用户ID。
isMute: boolean
- true:该用户暂停视频流的发送。 - false:该用户恢复视频流的发送。
videoTrack: DingRtcConstants.RtcEngineVideoTrack
。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
远端用户暂停/恢复视频流发送的通知。
onUserWillBecomeActive
onUserWillBecomeActive(uid: string): void
Parameters
uid: string
远端用户ID
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.5
Brief
远端用户应用返回前台
onUserWillResignActive
onUserWillResignActive(uid: string): void
Parameters
uid: string
远端用户ID
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.5
Brief
远端用户应用退到后台
onVideoDeviceStateChanged
onVideoDeviceStateChanged(deviceId: string, deviceType: DingRtcConstants.RtcEngineDeviceType, deviceState: number): void
Parameters
deviceId: string
摄像头id。
deviceType: DingRtcConstants.RtcEngineDeviceType
设备类型。
deviceState: number
设备状态。
Returns
void
Brief
本地摄像头状态变更。
Since
3.4.1
onVideoPublishStateChanged
Parameters
oldState: DingRtcConstants.RtcEnginePublishState
之前的推流状态。
newState: DingRtcConstants.RtcEnginePublishState
当前的推流状态。
elapseSinceLastState: number
状态变更时间间隔。
channel: string
当前频道id。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
视频推流变更回调。
onVideoSubscribeStateChanged
onVideoSubscribeStateChanged(uid: string, oldState: DingRtcConstants.RtcEngineSubscribeState, newState: DingRtcConstants.RtcEngineSubscribeState, elapseSinceLastState: number, channel: string): void
Parameters
uid: string
userId,从App server分配的唯一标示符。
oldState: DingRtcConstants.RtcEngineSubscribeState
之前的订阅状态。
newState: DingRtcConstants.RtcEngineSubscribeState
当前的订阅状态。
elapseSinceLastState: number
两次状态变更时间间隔(毫秒)。
channel: string
当前频道id。
Returns
void
Ingroup
OHOS_DingRtcCallbackEventListener
Since
3.0
Brief
相机流订阅情况变更回调。