方法

引擎管理

方法 描述
CreateRtcEngine 创建 RTCEngine 实例。

如果当前线程中未创建引擎实例,那么你必须先使用此方法,以使用 RTC 提供的各种音视频能力。

如果当前线程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。
DestroyRtcEngine 销毁由 CreateRtcEngine 创建的 RTCEngine 实例,并释放所有相关资源。
GetSDKVersion 获取当前 SDK 版本信息。
GetCount 获取当前系统内音视频设备数量
GetDevice 根据索引号,获取设备信息
Release 释放当前 IDeviceCollection 对象占用的资源。
SetBusinessId 设置业务标识参数。

可通过 business_id 区分不同的业务场景(角色/策略等)。business_id 由客户自定义,相当于一个“标签”,
可以分担和细化现在 AppId 的逻辑划分的功能。
SetRuntimeParameters 设置运行时的参数
Feedback 本次通话质量打分评价

房间管理

方法 描述
JoinRoom 创建/加入房间:房间不存在时即创建房间;房间存在时即加入这个房间。

同一房间内的用户间可以相互通话。

进房后重复调用无效,用户必须调用 LeaveRoom 退出当前房间后,才能加入下一个房间。

本地用户调用此方法加入房间成功后,会收到 OnJoinRoomResult 回调通知。

本地用户调用 SetUserVisibility 将自身设为可见后加入房间,远端用户会收到 OnUserJoined。

音频管理

方法 描述
BuildAudioFrame 创建 IAudioFrame
SetPlaybackVolume 调节本地播放的所有远端用户混音后的音量
StartAudioCapture 开启内部音频采集。默认为关闭状态。

调用后,本地用户会收到 OnMediaDeviceStateChanged 的回调。

进房后调用该方法,房间中的其他用户会收到 OnUserStartAudioCapture 的回调。
StopAudioCapture 关闭内部音频采集。默认为关闭状态。

进房前调用该方法,本地用户会收到 OnMediaDeviceStateChanged 的回调。

进房后调用该方法后,房间中的其他用户会收到 OnUserStopAudioCapture 的回调。
SetAudioProfile 设置音质档位。你应根据业务场景需要选择适合的音质档位。
StartScreenAudioShare 开启屏幕共享本地音频
StopScreenAudioShare 关闭屏幕共享本地音频
GetAudioDeviceManager 设备音频管理接口创建
GetPositionAudioRender 获取位置音频接口实例,包括范围语音、空间语音等和位置相关的音频接口。
EnableAudioPropertiesReport 启用音频信息提示。
SendStreamSyncInfo 发送音频流同步信息。将消息通过音频流发送到远端,并实现与音频流同步,该接口调用成功后,远端用户会收到 OnStreamSyncInfoReceived 回调。
EnableAudioSpatialRender 开启或关闭空间音频效果。
UpdatePosition 更新自己的位置坐标。
UpdateSelfOrientation 更新自己的朝向。本地朝向的设置只影响本地听到的音频效果,不影响本地发出的音频效果。

视频管理

方法 描述
BuildVideoFrame 创建 IVideoFrame
PushExternalVideoFrame 发送外部源视频数据
StartVideoCapture 立即开启内部视频采集。默认为关闭状态。

内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。

调用该方法后,本地用户会收到 OnMediaDeviceStateChanged 的回调。

本地用户在非隐身状态下调用该方法后,房间中的其他用户会收到 OnUserStartVideoCapture 的回调。
StopVideoCapture 立即关闭内部视频采集。默认为关闭状态。

内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。

调用该方法后,本地用户会收到 OnMediaDeviceStateChanged 的回调。

调用该方法后,房间中的其他用户会收到 OnUserStopVideoCapture 的回调。
SetVideoCaptureConfig 设置 RTC SDK 内部采集时的视频采集参数。

如果你的项目使用了 SDK 内部采集模块,可以通过本接口指定视频采集参数包括分辨率、帧率。
SetVideoEncoderConfig 启动推送多路视频流,设置推送多路流时的各路视频参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。
SetLocalVideoCanvas 设置本地视频渲染时,使用的视图,并设置渲染模式。

你应在加入房间前,绑定本地视图。退出房间后,此设置仍然有效。
如果需要解除绑定,你可以调用本方法传入空视图。
MuteLocalVideo 停止/启动发送本地视频流,默认不发送。

无论你使用内部视频采集,还是自定义视频采集,你都应使用此接口启动发送本地视频流。

调用该方法后,房间中的其他用户会收到 OnUserMuteVideo 的回调。
SetVideoSourceType 设置向 SDK 输入的视频源
PushExternalVideoFrame 发送外部源视频数据
SetLocalVideoMirrorMode 设置采用前置摄像头采集时,是否开启镜像模式。
SetLocalVideoMirrorType 为本地采集到的视频流开启镜像
SendSEIMessage 在视频通信时,通过视频帧发送 SEI 数据。
RegisterRemoteEncodedVideoFrameObserver 注册远端编码后视频数据回調。

完成注册后,当 SDK 监测到远端编码后视频帧时,会触发 OnRemoteEncodedVideoFrame 回调
SetExternalVideoEncoderEventHandler 注册自定义编码帧推送事件回调
PushExternalEncodedVideoFrame 推送自定义编码后的视频流
SetVideoDecoderConfig 在订阅远端视频流之前,设置远端视频数据解码方式
RequestRemoteVideoKeyFrame 在订阅远端视频流之后,向远端请求关键帧

屏幕共享

方法 描述
PushScreenFrame 推送屏幕视频帧
StartScreenCaptureByDisplayId 通过屏幕 id 共享屏幕,共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕 id 。
UpdateScreenCaptureRegion 通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新采集区域。
StopScreenCapture 停止屏幕或者窗口共享。
StartScreenVideoCapture 采集屏幕视频流,用于共享。屏幕视频流包括:屏幕上显示的内容,应用窗口中显示的内容,或虚拟屏幕中显示的内容。

其中,虚拟屏幕中显示的内容仅在 Windows 平台上支持。
StopScreenVideoCapture 停止屏幕视频流采集。
UpdateScreenCaptureHighlightConfig 通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新边框高亮设置。默认展示表框。
UpdateScreenCaptureMouseCursor 通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新对鼠标的处理设置。默认采集鼠标。
UpdateScreenCaptureFilterConfig 通过 RTC SDK 提供的采集模块采集屏幕视频流时,设置需要过滤的窗口。
GetScreenCaptureSourceList 获取共享对象(应用窗口和桌面)列表, 使用完之后需要调用对应的release接口释放
GetThumbnail 获取共享对象缩略图
SetScreenAudioSourceType 在屏幕共享时,设置屏幕音频的采集方式(内部采集/自定义采集)
SetScreenAudioStreamIndex 在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式
StartScreenAudioCapture 在屏幕共享时,开始使用 RTC SDK 内部采集方式,采集屏幕音频
StopScreenAudioCapture 在屏幕共享时,停止使用 RTC SDK 内部采集方式,采集屏幕音频。
PushScreenAudioFrame 使用自定义采集方式,采集屏幕共享时的屏幕音频时,将音频帧推送至 RTC SDK 处进行编码等处理。
PublishScreen 发布本地屏幕共享流到房间。
UnpublishScreen 停止发布本地屏幕共享流到房间。

实时消息通信

方法 描述
Login 必须先登录注册一个 uid,才能发送房间外消息和向业务服务器发送消息
Logout 调用本接口登出后,无法调用房间外消息以及端到服务器消息相关的方法或收到相关回调。
UpdateLoginToken 更新用户用于登录的 Token

Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。

调用 Login 方法登录时,如果使用了过期的 Token 将导致登录失败,并会收到 OnLoginResult 回调通知,错误码为 kLoginErrorCodeInvalidToken。此时需要重新获取 Token,并调用此方法更新 Token。
SetServerParams 设置业务服务器参数

客户端调用 SendServerMessage 或 SendServerBinaryMessage 发送消息给业务服务器之前,必须设置有效签名和业务服务器地址。
GetPeerOnlineStatus 查询对端用户或本端用户的登录状态
SendUserMessageOutsideRoom 给房间外指定的用户发送文本消息(P2P)
SendUserBinaryMessageOutsideRoom 给房间外指定的用户发送二进制消息(P2P)
SendServerMessage 客户端给业务服务器发送文本消息(P2Server)
SendServerBinaryMessage 客户端给业务服务器发送二进制消息(P2Server)

混音

方法 描述
StartAudioMixing 开始播放音乐文件及混音
StopAudioMixing 停止播放音乐文件及混音
PauseAudioMixing 暂停播放音乐文件及混音
ResumeAudioMixing 恢复播放音乐文件及混音
PreloadAudioMixing 预加载指定音乐文件到内存中
UnloadAudioMixing 卸载指定音乐文件
SetAudioMixingVolume 调节混音的音量大小,包括音频文件混音和 PCM 混音。
GetAudioMixingDuration 获取音乐文件时长
GetAudioMixingCurrentPosition 获取音乐文件播放进度
SetAudioMixingPosition 设置音乐文件的播放位置
SetAudioMixingDualMonoMode 设置当前音频文件的声道模式
EnableAudioMixingFrame 启动 PCM 音频数据混音。

要实现多个 PCM 音频数据混音,多次调用本方法,并传入不同的 id。
DisableAudioMixingFrame 关闭 PCM 混音
PushAudioMixingFrame 推送 PCM 音频帧数据用于混音
GetAudioMixingManager 混音管理接口创建

美声特效管理

方法 描述
SetVoiceChangerType 设置变声特效类型
SetVoiceReverbType 设置混响特效类型

媒体流管理

方法 描述
MuteLocalAudio 控制本地音频流的发送状态:发送/不发送

使用此方法后,房间中的其他用户会收到回调: OnUserMuteAudio

自定义视频采集渲染

方法 描述
SetLocalVideoSink 将本地视频流与自定义渲染器绑定。
SetRemoteVideoSink 将远端视频流与自定义渲染器绑定。

视频特效

方法 描述
CheckLicense 视频特效许可证检查
GetAuthMessage 从 CV SDK 获取授权消息,用于获取在线许可证。
FreeAuthMessage 使用完授权消息字符串后,释放内存。
EnableEffect 开启关闭视频特效
SetAlgoModelPath 设置视频特效算法模型路径
SetEffectNodes 设置视频特效素材包
UpdateNode 设置特效强度
SetColorFilter 设置颜色滤镜
SetColorFilterIntensity 设置已启用颜色滤镜的强度
InitVirtualBackground 虚拟背景功能初始化。
EnableVirtualBackground 开启虚拟背景。
DisableVirtualBackground 关闭虚拟背景。

视频处理

方法 描述
RegisterLocalVideoProcessor 设置自定义视频前处理器。

使用这个视频前处理器,你可以调用 ProcessVideoFrame 对 RTC SDK 采集得到的视频帧进行前处理,并将处理后的视频帧用于 RTC 音视频通信。
ProcessVideoFrame 获取 RTC SDK 采集得到的视频帧,根据 RegisterLocalVideoProcessor 设置的视频前处理器,进行视频前处理,最终将处理后的视频帧给到 RTC SDK 用于编码传输。

视频数据回调

方法 描述
RegisterVideoFrameObserver 注册视频数据回调观察者
RegisterLocalEncodedVideoFrameObserver 注册本地视频帧监测器。

无论使用内部采集还是自定义采集,调用该方法后,SDK 每监测到一帧本地视频帧时,都会将视频帧信息通过 OnLocalEncodedVideoFrame 回调给用户

转推直播

方法 描述
RoomID 获取合流房间 ID
UserID 获取合流用户 ID
ExpectedMixingType 获取合流类型
Uri 获取推流地址
JsonContent 获取通过 Flatten 方法转换得到的 json 格式内容
AudioParam 获取合流音频参数
VideoParam 获取合流视频参数
LayoutRegionsSize 获取合流参数中视窗的数量
LayoutRegionByIndex 获取合流视窗布局信息
BackgroundColor 获取背景颜色
AppData 获取 SEI 信息
SetRoomID 设置合流房间 ID
SetUserID 设置合流用户 ID
SetExpectedMixingType 设置合流类型
SetUri 设置推流地址
SetJsonContent 设置 jsonContent

传入通过 Flatten 方法转换得到的 json 格式内容
SetAudioParam 设置音频参数
SetVideoParam 设置视频参数
SetLayoutParam 设置合流布局参数
Flatten 将合流参数转成 json 字符串
Inflatten 将输入的 json 格式的字符串转成 ITranscoderParam 结构体

自定义音频采集渲染

方法 描述
EnableExternalAudioDevice 启用自定义音频采集渲染
DisableExternalAudioDevice 禁用已开启的自定义音频采集渲染,将音频采集渲染由自定义模块切换至内部模块。
PushExternalAudioFrame 推送外部音频数据。使用 EnableExternalAudioDevice
启用自定义音频采集渲染后,可以使用本方法推送外部音频数据。
PullExternalAudioFrame 拉取远端音频数据。使用 EnableExternalAudioDevice
启用自定义音频采集渲染后,可以使用本方法拉取远端音频数据。

音频数据回调

方法 描述
SetRecordingAudioFrameParameters 设置本地麦克风录制的音频数据回调参数
SetPlaybackAudioFrameParameters 设置远端所有用户音频数据混音后的音频数据回调参数
SetMixedAudioFrameParameters 设置本地麦克风录制音频数据和远端所有用户音频数据混音后的音频数据回调参数
RegisterAudioFrameObserver 注册音频数据回调观察者

音频处理

方法 描述
RegisterLocalAudioProcessor 设置自定义音频处理器。

使用该处理器,你可以调用 ProcessAudioFrame 对 RTC SDK 采集得到的音频帧进行自定义处理,并将处理后的音频帧用于 RTC 音视频通信。

SDK 只持有 processor 的弱引用,你应保证其生命周期。

音视频回退

方法 描述
SetPublishFallbackOption 设置发布的音视频流回退选项

你可以调用这个接口来设置网络情况不佳或设备性能不足时只发送小流,以保证通话质量。
SetSubscribeFallbackOption 设置订阅的音视频流回退选项

你可以通过调用该接口来设置网络情况不佳或性能不足时只订阅小流或音频流,以保证通话质量。
SetRemoteUserPriority 设置用户优先级

加密

方法 描述
OnEncryptData 自定义加密。

使用设定的自定义加密方式,对传输前的音视频帧数据进行加密。
OnDecryptData 自定义解密。

对自定义加密后的音视频帧数据进行解密。关于自定义加密,参看 OnEncryptData。
SetEncryptInfo 设置传输时使用内置加密的方式
SetCustomizeEncryptHandler 设置自定义加密

需要实现对应的加密/解密方法,详情参考 EncryptType 。

多房间

方法 描述
CreateRtcRoom 创建并获取一个 IRtcRoom 对象
SetUserVisibility 设置用户可见性。默认为可见。

通过对用户可见性进行设置,可以控制用户在房间内的行为:

+ 能否发布音视频流;

+ 用户自身是否在房间中隐身。
JoinRoom 创建/加入房间:房间不存在时即创建房间;房间存在时,未加入房间的用户可加入这个房间。

同一房间内的用户间可以相互通话。

进房后重复调用无效,用户必须调用 LeaveRoom 退出当前房间后,才能加入下一个房间。
LeaveRoom 离开房间。

用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。

加入房间后,必须调用此方法结束通话,否则无法开始下一次通话。无论当前是否在房间内,都可以调用此方法。重复调用此方法没有负面影响。
UpdateToken 更新 Token。

Token 有一定的有效期,当 Token 过期时,用户需调用此方法更新房间的 Token 信息。

用户调用 JoinRoom 方法加入房间时,如果使用了过期的 Token 将导致加入房间失败,并会收到 OnJoinRoomResult 回调通知,错误码为 ErrorCode 中的 kErrorCodeInvalidToken 。此时需要重新获取 Token,并调用此方法更新 Token。
SendUserMessage 给房间内指定的用户发送文本消息(P2P)
SendUserBinaryMessage 给房间内指定的用户发送二进制消息(P2P)
SendRoomMessage 给房间内的所有其他用户发送广播消息。
SendRoomBinaryMessage 给房间内的所有其他用户发送广播消息。
Publish 将本端音视频流发布到此房间。
Unpublish 停止将本端音视频流发布到此房间。
SubscribeUserStream 订阅房间内指定的远端音视频流。

无论是自动订阅还是手动订阅模式,你都可以调用此方法按需订阅房间中的音视频流。

该方法也可用于更新已经订阅的流的属性、媒体类型等配置。
Unsubscribe 停止订阅指定的房间内远端音视频流。

关闭自动订阅功能,使用手动订阅模式时用户调用此方法停止订阅已订阅的音视频流。

此方法仅在关闭自动订阅功能时生效。用户需在加入房间时设置 config 关闭自动订阅功能以使用手动订阅模式。
SetRemoteAudioPlaybackVolume 调节来自远端用户的音频播放音量
PauseAllSubscribedStream 暂停接收来自远端的媒体流。
ResumeAllSubscribedStream 恢复接收来自远端的媒体流
StartLiveTranscoding 开启转推直播,并设置合流的视频视图布局和音频属性。
StopLiveTranscoding 停止转推直播。

关于启动转推直播,参看 StartLiveTranscoding。
UpdateLiveTranscoding 更新转推直播参数。

使用 StartLiveTranscoding 启用转推直播功能后,使用此方法更新功能配置参数。

语音识别服务

方法 描述
StartASR 开启自动语音识别服务。该方法将识别后的用户语音转化成文字,并通过 OnMessage
事件回调给用户。
StopASR 关闭语音识别服务

本地录制

方法 描述
StartFileRecording 该方法将通话过程中的音视频数据录制到本地的文件中。
StopFileRecording 停止本地录制

通话前网络探测

方法 描述
StartNetworkDetection 开启通话前网络探测
StopNetworkDetection 停止通话前网络探测

错误码

方法 描述
GetErrorDescription 获取错误码的描述

视频设备管理

方法 描述
EnumerateVideoCaptureDevices 获取当前系统内视频采集设备列表。
SetVideoCaptureDevice 设置当前视频采集设备
GetVideoCaptureDevice 获取当前 SDK 正在使用的视频采集设备信息
GetVideoDeviceManager 创建视频设备管理实例

音频设备管理

方法 描述
EnumerateAudioPlaybackDevices 获取当前系统内音频播放设备列表。如果后续设备有变更,你会收到 OnMediaDeviceStateChanged 回调通知,然后需要重新调用本接口以获得新的设备列表。
EnumerateAudioCaptureDevices 获取当前系统内音频采集设备列表。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表。
SetAudioPlaybackDevice 设置音频播放设备。
SetAudioCaptureDevice 设置音频采集设备。
SetAudioPlaybackDeviceVolume 设置当前音频播放设备音量
GetAudioPlaybackDeviceVolume 获取当前音频播放设备音量
SetAudioCaptureDeviceVolume 设置当前音频采集设备音量
GetAudioCaptureDeviceVolume 获取当前音频采集设备音量
SetAudioPlaybackDeviceMute 设置当前音频播放设备静音状态,默认为非静音。
GetAudioPlaybackDeviceMute 获取当前音频播放设备是否静音的信息。
SetAudioCaptureDeviceMute 设置当前音频采集设备静音状态,默认为非静音。
GetAudioCaptureDeviceMute 获取当前音频采集设备是否静音的信息。
GetAudioPlaybackDevice 获取当前音频播放设备 ID。
GetAudioCaptureDevice 获取当前音频采集设备 ID。
StartAudioPlaybackDeviceTest 启动音频播放设备测试。

该方法测试播放设备是否能正常工作。SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。
StopAudioPlaybackDeviceTest 停止音频播放设备测试。
StartAudioCaptureDeviceTest 启动音频采集设备测试。

该方法测试音频采集设备是否能正常工作。启动测试后,会收到 OnLocalAudioPropertiesReport 回调上报的音量信息。
StopAudioCaptureDeviceTest 停止音频采集设备测试。
StartAudioDeviceLoopbackTest 开始音频设备回路测试。

该方法测试音频采集设备和音频播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地声音
并通过音频播放设备播放出来,同时用户 App 会收到 OnLocalAudioPropertiesReport
回调上报的音量信息。
StopAudioDeviceLoopbackTest 停止音频设备回路测试。
InitAudioPlaybackDeviceForTest 尝试初始化音频播放设备,可检测出设备不存在、权限被拒绝/禁用等异常问题。
InitAudioCaptureDeviceForTest 尝试初始化音频采集设备,可检测设备不存在、权限被拒绝/禁用等异常问题。

音量管理

方法 描述
SetCaptureVolume 调节音频采集音量

回调

引擎管理

回调 描述
OnLogReport 端监控日志回调。当产生一个端监控事件时触发该回调。
OnConnectionStateChanged SDK 与信令服务器连接状态改变回调。连接状态改变时触发。
OnNetworkTypeChanged SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
OnMediaDeviceStateChanged 媒体设备状态回调。提示音频采集、音频渲染、视频采集三种媒体设备的状态。
OnMediaDeviceWarning 媒体设备警告回调。媒体设备包括:音频采集设备、音频渲染设备、和视频采集设备。
OnSysStats 周期性(2s)地发出回调,报告当前cpu与memory使用率

房间管理

回调 描述
OnJoinRoomResult 首次加入房间/重连加入房间的回调。此回调表示用户调用 JoinRoom 的结果,根据错误码判断成功/失败以及区别是否为重连。
OnLeaveRoom 离开房间回调。

用户调用 LeaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有与通话相关的音视频资源后,通过此回调通知用户离开房间成功。
OnRoomWarning SDK 发生警告回调。

SDK 内部遇到可恢复错误时,在尝试自动恢复的同时,会通过此回调通知用户。此回调事件仅用作通知。
OnRoomError SDK 发生错误回调。

SDK 内部遇到不可恢复错误时,会通过此回调通知 App,需要 App 根据错误码进行操作或提示用户。
OnUserJoined 远端可见用户加入房间,或房内隐身用户切换为可见的回调。

1. 远端用户调用 SetUserVisibility 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。

2. 远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。

3. 房间内隐身远端用户调用 SetUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。

4. 新进房用户会收到进房前已在房内的可见用户的进房回调通知。
OnUserLeave 远端可见用户离开房间,或从可见切换为隐身的回调。

发生以下情形时,房间内其他用户会收到此事件:

1. 远端可见用户调用 LeaveRoom 方法离开房间时;

2. 远端可见用户调用 SetUserVisibility 方法切换至隐身;

3. 远端可见用户断网,且一直未恢复。
OnStreamRemove 房间内的远端用户停止发布音视频流时,本地用户会收到此回调。
OnStreamAdd 房间内的用户发布新的音视频流时,房间内的其他用户会收到此回调。包括移除后又重新发布的流。
OnLiveTranscodingResult 直播推流转码错误回调。
用户调用 StartLiveTranscoding 接口启动直播推流转码功能后,启动结果和推流过程中 的错误均会通过此回调方法通知用户。
OnAudioFrameSendStateChanged 音频首帧发送状态改变回调
OnVideoFrameSendStateChanged 视频首帧发送状态改变回调
OnScreenVideoFrameSendStateChanged 屏幕共享流视频首帧发送状态改变回调
OnAudioFramePlayStateChanged 音频首帧播放状态改变回调
OnVideoFramePlayStateChanged 视频首帧播放状态改变回调
OnScreenVideoFramePlayStateChanged 屏幕共享流视频首帧播放状态改变回调

音频管理

回调 描述
OnRemoteAudioPropertiesReport 远端用户进房后,本地调用 EnableAudioPropertiesReport,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。

远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。
OnLocalAudioPropertiesReport 调用 EnableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。

本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。
OnStreamSyncInfoReceived 音频流同步信息回调。可以通过此回调,在远端用户调用 SendStreamSyncInfo 发送音频流同步消息后,收到远端发送的音频流同步信息。

视频管理

回调 描述
OnSEIMessageReceived 收到通过 SendSEIMessage 发送的带有 SEI 消息的视频帧时,收到此回调
OnStart 提示自定义编码帧可以开始推送的回调。

收到该回调后,你即可调用 PushExternalEncodedVideoFrame 向 SDK 推送自定义编码视频帧
OnStop 当收到该回调时,你需停止向 SDK 推送自定义编码视频帧
OnRateUpdate 当自定义编码流的帧率或码率发生变化时,触发该回调
OnRequestKeyFrame 调用 RequestRemoteVideoKeyFrame 请求远端关键帧时,会触发该回调
OnLocalScreenFrame 本地屏幕视频流采集成功后,会收到此回调。
OnLocalVideoFrame 本地视频流数据回调
OnRemoteScreenFrame 远端屏幕共享流数据回调
OnRemoteVideoFrame 远端视频数据回调
OnFirstLocalVideoFrameCaptured RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。
OnLocalVideoSizeChanged 本地视频大小或旋转配置发生改变时,收到此回调。
OnRemoteVideoSizeChanged 远端视频大小或旋转配置发生改变时,房间内订阅此视频流的用户会收到此回调。
OnFirstRemoteVideoFrameRendered 第一帧远端视频流在视图上渲染成功后,收到此回调。
OnLocalVideoStateChanged 本地视频流的状态发生改变时,收到该事件。
OnRemoteVideoStateChanged 远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
OnVideoStreamBanned 通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。

实时消息通信

回调 描述
OnLoginResult 登录结果回调
OnLogout 登出结果回调
OnServerParamsSetResult 设置业务服务器参数的返回结果
OnGetPeerOnlineStatus 查询对端或本端用户登录状态的返回结果
OnUserMessageReceivedOutsideRoom 收到房间外用户调用 SendUserMessageOutsideRoom 发来的文本消息时,会收到此回调
OnUserBinaryMessageReceivedOutsideRoom 收到房间外用户调用 SendUserBinaryMessageOutsideRoom 发来的二进制消息时,会收到此回调
OnUserMessageSendResultOutsideRoom 给房间外指定的用户发送消息的回调
OnServerMessageSendResult 给业务服务器发送消息的回调
OnRoomMessageReceived 接收到房间内广播消息的回调。
OnRoomBinaryMessageReceived 接收到房间内二进制广播消息的回调。
OnUserMessageReceived 收到来自房间中其他用户发来的文本消息时(P2P),会收到此回调。
OnUserBinaryMessageReceived 单个用户接收到同一房间内其他 uid 所属用户发来二进制消息的回调(P2P)。
OnUserMessageSendResult 向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。
OnRoomMessageSendResult 当调用 SendRoomMessage 函数发送消息后,回调此条消息的发送结果(反馈)。

混音

回调 描述
OnAudioMixingStateChanged 音频混音文件播放状态改变时回调

回调 描述
~ILocalEncodedVideoFrameObserver 析构函数

媒体流管理

回调 描述
OnUserMuteAudio 房间内某用户调用 MuteLocalAudio
改变本地音频发送状态时,房间内其他用户会收到此回调。
OnUserMuteVideo 房间内用户暂停/恢复发送视频流时,房间内其他用户会收到此回调。参看 MuteLocalVideo。

视频数据回调

回调 描述
OnLocalEncodedVideoFrame 调用 RegisterLocalEncodedVideoFrameObserver 后,SDK 收到本地视频帧信息时,回调该事件
OnRemoteEncodedVideoFrame 调用 RegisterRemoteEncodedVideoFrameObserver 后,SDK 监测到远端编码后视频数据时,触发该回调

转推直播

回调 描述
OnStreamMixingEvent 通知 Transcoding 关键事件
OnStreamMixingVideoFrame 合流视频回调,运行在视频回调线程
OnStreamMixingAudioFrame 合流音频回调,运行在音频回调线程
OnStreamMixingDataFrame 视频SEI帧回调,运行在视频回调线程

音频数据回调

回调 描述
OnRecordAudioFrame 返回麦克风录制的音频数据
OnPlaybackAudioFrame 返回远端所有用户混音后的音频数据
OnMixedAudioFrame 返回本地麦克风录制和远端所有用户混音后的音频数据

音视频回退

回调 描述
OnPerformanceAlarms 本地未开启发布性能回退,检测到设备性能不足时,收到此回调。

本地开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。
OnSimulcastSubscribeFallback 因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。

本地录制

回调 描述
OnRecordingStateUpdate 获取本地录制状态回调。

该回调由 StartFileRecording 或 StopFileRecording 触发。
OnRecordingProgressUpdate 本地录制进度回调。

该回调由 StartFileRecording 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。

通话前网络探测

回调 描述
OnNetworkDetectionResult 通话前网络探测结果
OnNetworkDetectionStopped 通话前网络探测结束
以下情况将停止探测并收到本一次本回调:

1. 当调用 StopNetworkDetection 接口停止探测后,会收到一次该回调;
2. 当收到远端/本端音频首帧后,停止探测;
3. 当探测超过3分钟后,停止探测;
4. 当探测链路断开一定时间之后,停止探测。

错误码

回调 描述
OnError 当 SDK 内部发生不可逆转错误时触发该回调。

音频事件回调

回调 描述
OnUserStartAudioCapture 房间内的用户调用 StartAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
OnUserStopAudioCapture 房间内的用户调用 StopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
OnFirstLocalAudioFrame 本地采集到第一帧音频帧时,收到该回调
OnFirstRemoteAudioFrame 接收到来自远端某音频流的第一帧时,收到该回调。
OnLocalAudioStateChanged 本地音频的状态发生改变时,该回调通知当前的本地音频状态。
OnRemoteAudioStateChanged 用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
OnAudioStreamBanned 通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。

数据统计

回调 描述
OnRoomStats 房间内通话统计信息回调。

用户进房开始通话后,每 2s 收到一次本回调。
OnLocalStreamStats 发布流成功后,每隔 2s 收到此回调,了解发布的流在此周期内的网络质量信息。
OnRemoteStreamStats 每隔 2s 收到此回调,了解订阅的远端用户发布的流在此周期内的网络质量信息。

警告码

回调 描述
OnWarning 当内部发生警告事件时触发该回调

代理回调

回调 描述
OnHttpProxyState HTTP 代理连接状态改变时,收到该回调。
OnHttpsProxyState HTTPS 代理连接状态改变时,收到该回调。
OnSocks5ProxyState Socks5 代理状态改变时,收到该回调。

视频事件回调

回调 描述
OnUserStartVideoCapture 房间内的用户调用 StartVideoCapture 开启视频采集时,房间内其他用户会收到此回调。
OnUserStopVideoCapture 房间内的用户调用 StopVideoCapture 关闭视频采集时,房间内其他用户会收到此回调。