方法

引擎管理

方法 描述
CreateByteRtcEngine 创建 RTCEngine 实例。

此方法应该作为正常 SDK 流程中的第一步操作,通过创建一个 RTCEngine 实例,来使用 SDK 的其他能力。
CreateByteRtcEngineWithParameters 创建 RTCEngine 实例。

此方法应该作为正常 SDK 流程中的第一步操作,通过创建一个 RTCEngine 实例,来使用 SDK 的其他能力。
DestroyByteRtcEngine 销毁由 CreateByteRtcEngine 创建的 RTCEngine 实例,并释放所有相关资源。
GetVersion 获取当前 SDK 版本信息。
SetBusinessId 设置业务标识参数。

可通过 business_id 区分不同的业务场景(角色/策略等)。business_id 由客户自定义,相当于一个“标签”,
可以分担和细化现在 AppId 的逻辑划分的功能。

性能回退

方法 描述
EnablePerformanceCollect 设置引擎是否开启性能采集功能,默认为开启。

错误码

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

其他

方法 描述
Feedback 本次通话质量打分评价
SetRuntimeParameters 设置运行时的参数

房间管理

方法 描述
JoinChannel 加入房间。用户调用此方法加入房间,在一个房间内的用户间可以相互通话。

用户调用 CreateByteRtcEngine 创建 RTC 引擎后,需调用此方法加入房间实现同其他用户进行音视频通话。如果用户调用此方法加入房间,则后续重复调用此方法均会失败,用户必须调用 LeaveChannel 退出当前房间后,才能加入下一个房间。

用户调用此方法加入房间成功后,会收到 OnJoinChannelSuccess 回调通知。
SetClientRole 设置用户角色。

用户可通过设置用户角色,控制:1.是否发布音视频流;2.用户自身是否在房间中隐身。详见用户角色 CLIENT_ROLE_TYPE。

默认用户角色为主播角色 CLIENT_ROLE_BROADCASTER

房间模式(通过调用接口 SetChannelProfile 可设置房间模式)为直播模式、游戏模式、云游戏模式时,设置用户角色生效。房间模式为通信模式时不区分用户角色。
SetChannelProfile 设置房间模式。

通过设置房间模式,用户可以选择应用 SDK 针对不同房间模式场景的优化策略。

默认的房间模式为通信模式 CHANNEL_PROFILE_COMMUNICATION

房间模式必须在调用 JoinChannel 加入房间前设置,加入房间后设置不生效。设置用户角色(通过方法 SetClientRole )建议在设置完房间模式后。
LeaveChannel 离开房间。

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

调用 JoinChannel 方法加入房间后,在通话结束时必须调用此方法结束通话,否则无法开始下一次通话。无论当前是否在房间中,都可以调用此方法。重复调用此方法不会有负面影响。

此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 OnLeaveChannel 回调通知。
RenewToken 更新 Token。

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

用户调用 JoinChannel 方法加入房间时,如果使用了过期的 Token 将导致加入房间失败,并会收到 OnChannelError 回调通知,回调错误码为 BRERR_INVALID_TOKEN 。此时需要重新获取 Token ,并调用此方法更新 Token。
SubscribeStream 订阅指定的房间内远端音视频流。

关闭自动订阅功能,使用手动订阅模式时用户调用此方法按需订阅房间中的音视频流。

此方法仅在关闭自动订阅功能时生效。用户需在加入房间前调用 EnableAutoSubscribe 方法关闭自动订阅功能以使用手动订阅模式。

用户在自动订阅功能开启时调用此方法,SDK 不会订阅音视频流,并通过 OnChannelWarning 回调通知用户订阅失败,回调警告码为 BRWARN_SUBSCRIBE_STREAM_FORBIDEN 。

订阅流失败时,SDK 会按失败原因回调 OnChannelError 通知用户,具体错误可参考错误码 RTC_ERROR_CODE 描述。
Unsubscribe 停止订阅指定的房间内远端音视频流。

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

此方法仅在关闭自动订阅功能时生效。用户需在加入房间前调用 EnableAutoSubscribe 方法关闭自动订阅功能以使用手动订阅模式。
EnableAutoSubscribe 设置订阅模式。

用户调用此方法设置房间中音视频流的订阅模式。SDK 默认使用自动订阅模式。

如需开启手动订阅功能,建议在调用 JoinChannel 方法加入房间前设置完成。

音频管理

方法 描述
SetRecordingVolume 调节音频采集音量
SetPlaybackVolume 调节本地播放的所有远端用户混音后的音量
StartMixScreenAudioToMainStream 开启声卡采集,将声卡播放的音频流合到本地采集的音频流中。

如果你希望将声卡播放的声音传输到远端(比如屏幕共享等场景),你必须开启声卡采集。如此,声卡播放的声音会合到本地采集的音频流在中,一起发送到远端。
StopMixScreenAudioToMainStream 关闭声卡采集,声卡播放的音频流不再合到本地采集的音频流中。
SetScreenAudioVolumeBeforeMixing 调节本地声卡采集音量。

开启本地声卡采集后,你可以使用此接口调节采集音量。
关于如何开启本地声卡采集,参考 StartMixScreenAudioToMainStream。
EnableLocalAudio 开启/关闭本地音频采集。

调用该方法后,房间中的其他用户会收到 OnUserEnableLocalAudio 事件回调。
MuteLocalAudio 控制本地音频流的发送状态:发送/不发送

使用此方法后,房间中的其他用户会收到回调: OnUserMuteAudio
SetAudioPerformanceProfile 通过设置音频处理策略等级,获得不同的音频处理质量。默认使用 auto 模式。

此设置会影响音频采集端在音频采集后,发送前对音频的处理策略,达成不同的处理效果;

也会影响音频接收端在音频流接收后,播放前对音频的处理策略,达成不同的处理效果。

你应使用此方法,实现音频体验和系统性能占用之间的平衡:

如果你希望系统性能占用较低,你应设置较低的策略等级;如果你更在意音频质量,你应选择设置更高的策略等级。

一般情况下,你可使用 auto 模式(默认)。此时,sdk 会根据应用所在机型等级,自动适配音频处理策略。
GetAudioDeviceManager 设备音频管理接口创建
SetAudioVolumeIndicationInterval 设置是否开启房间内音量提示。

如果开启,将以设置的时间间隔收到音量事件回调。无论房间内有无发言,都会收到回调。
具体回调参看 OnAudioVolumeIndication
SetRemoteAudioPlaybackVolume 调节来自远端用户的音频播放音量
MuteAllRemoteAudio 设置对来自远端的所有音频流的接收状态。默认为接收。
MuteRemoteAudio 设置对来自远端指定用户的音频流的接收状态。默认为接收。

自定义音频采集渲染

方法 描述
SetExternalAudioSource 设置是否启用外部音频采集渲染。
SetAudioDeviceObserver 启动音频外部源采集渲染时,添加音频外部设备事件监控
PushExternalAudioFrame 推送外部音频数据。使用 SetExternalAudioSource
启用自定义音频采集渲染后,可以使用本方法推送外部音频数据。
PullExternalAudioFrame 拉取远端音频数据。使用 SetExternalAudioSource
启用自定义音频采集渲染后,可以使用本方法拉取远端音频数据。

混音

方法 描述
StartAudioMixing 开始播放音乐文件及混音。
StopAudioMixing 停止播放音乐文件及混音
PauseAudioMixing 暂停播放音乐文件
ResumeAudioMixing 恢复播放音乐文件
AdjustAudioMixingVolume 调节音乐文件的文件音量。为保证更好的音质,建议将 volume 值设为 [0,100]。
AdjustAudioMixingPlayoutVolume 调节音乐文件的本地播放音量。为保证更好的音质,建议将 volume 值设为 [0,100]。
AdjustAudioMixingPublishVolume 调节音乐文件的远端播放音量。为保证更好的音质,建议将 volume 值设为 [0,100]。
GetAudioMixingDuration 获取音乐文件时长
GetAudioMixingCurrentPosition 获取音乐文件播放进度
SetAudioMixingPosition 设置音频文件的播放位置
GetEffectVolume 获取指定音效文件的文件音量
SetVolumeOfEffect 调节指定音效文件的文件音量
PlayEffect 开始播放指定音效文件。你可以在该方法中设置音效文件的播放次数、音量大小,以及远端用户是否能听到该音效。
PreloadEffect 预加载指定音效文件。
UnloadEffect 卸载指定音效文件
StopEffect 停止播放指定音效文件
PauseEffect 暂停播放指定音效文件
ResumeEffect 恢复播放指定音效文件
SetEffectsVolume 调节所有音效文件的文件音量
StopAllEffects 停止所有音效文件的播放
PauseAllEffects 暂停所有音效文件的播放。
ResumeAllEffects 恢复所有音效文件的播放
UnloadAllEffects 卸载所有音效文件
SetAudioPlayoutMixStream 启动/停止外部音频流混音, 并设置混音数据格式
GetAudioMixingStreamCachedFrameNum 获取SDK当前缓冲数据
PushAudioMixingStreamData 向SDK推送混音的音频数据

视频管理

方法 描述
EnableLocalVideo 该方法开启或关闭本地视频采集。本地视频采集默认为开启。

调用该方法后,房间中的其他用户会收到 OnUserEnableLocalVideo 回调。
SetVideoEncoderConfig 启动推送多路视频流,设置推送多路流时的各路视频参数,
包括分辨率,帧率,码率,缩放模式,网络不佳时的回退策略等。
SetLocalVideoCanvas 设置本地视频渲染时,使用的视图,并设置渲染模式。

你应在加入房间前,绑定本地视图。退出房间后,此设置仍然有效。
如果需要解除绑定,你可以调用本方法绑定空视图。
SetLocalVideoRender 设置本地视频渲染器
该方法设置本地视频外部渲染器。应用程序通过调用此接口绑定本地视频流的渲染器canvas。
在应用程序开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。退出频道后,绑定仍然有效,
如果需要解除绑定,可以指定空的VideoSink。
SetLocalScreenRender 设置屏幕共享本地渲染器
该方法设置屏幕共享本地外部渲染器。应用通过调用此接口绑定本地屏幕共享流的渲染器 IVideoSink 。
在应用开发中,通常在初始化后调用该方法进行本地屏幕共享设置,然后再加入房间。退出房间后,绑定仍然有效,
如果需要解除绑定,可以指定空的 VideoSinkIVideoSink。
MuteLocalVideo 停止/启动发送本地视频流,默认不发送。

无论你使用 SDK 的视频采集编码功能,还是使用自定义采集功能,你都应使用此接口启动发送本地视频流。
调用该方法后,房间中的其他用户会收到 OnUserMuteVideo 的回调。
StartPreview 开启本地视频预览
StopPreview 停止本地视频预览
SwitchCamera 切换前后摄像头
PushScreenFrame 发送屏幕共享本地视频数据
StartScreenCaptureByWindowId 该方法共享一个窗口或该窗口的部分区域。用户需要在该方法中指定想要共享的窗口 id 。
StartScreenCaptureByScreenRect 通过指定区域共享屏幕,共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕区域。
StartScreenCaptureByDisplayId 通过屏幕 id 共享屏幕,共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕 id 。
UpdateScreenCaptureRegion 更新屏幕共享区域。
UpdateScreenCaptureParameters 更新屏幕共享的编码参数配置。
StopScreenCapture 停止屏幕或者窗口共享。
SetExternalVideoSource 设置外部视频输入源
PushExternalVideoFrame 发送外部源视频数据
ReplaceBackground 开启背景并设置背景模式与分割模式
DisableBackground 关闭背景
SetLocalVideoMirrorMode 设置采用前置摄像头采集时,是否开启镜像模式。

调用后,你会收到回调:OnMirrorStateChanged
GetLocalVideoMirrorMode 获得当前本地镜像状态
PublishScreen 发布本地屏幕共享流到房间。
UnpublishScreen 停止发布本地屏幕共享流到房间。
SetRemoteVideoCanvas 设置来自指定远端用户 user_id 的视频渲染时,使用的视图,并设置渲染模式。

你应在加入房间前,绑定视图。退出房间后,此设置失效。

如果需要解除某个用户的绑定视图,你可以把 view 设置为空。
SetRemoteVideoRender 设置远端视频外部渲染器
RemoveAllRemoteVideo 去除所有远端视频。
SetRemoteScreenRender 设置屏幕共享远端外部渲染器
RemoveAllRemoteScreen 去除屏幕共享所有远端视图。
SetDefaultMuteAllRemoteVideoStreams 设置是否默认接收视频流.
RemoteFirstVideoFrameRender 远端首帧视频帧渲染.
MuteAllRemoteVideo 设置是否播放所有远端视频流
MuteRemoteVideo 设置是否播放远端视频流
build_video_frame 根据视频帧参数创建视频帧并返回指针
frame_type 获取视频帧类型
pixel_format 获取视频帧格式
timestamp_us 获取视频帧时间戳
width 获取视频帧宽度
height 获取视频帧高度
rotation 获取视频帧旋转角度
color_space 获取视频帧颜色空间
number_of_planes 视频帧颜色 plane 数量
get_plane_data 获取 plane 数据指针
get_plane_line_size 获取 plane 中数据行的长度
get_extra_data_info 获取扩展数据指针
get_supplementary_info 获取补充数据指针
get_hwaccel_buffer 获取本地缓冲区指针
shallow_copy 浅拷贝视频帧并返回指针
release 释放视频帧
to_i420 视频帧数据转为 YUV I420 格式

方法 描述
GetScreenCaptureSourceList 获取共享对象(应用窗口和桌面)列表, 使用完之后需要调用对应的release接口释放
GetThumbnail 获取共享对象缩略图

音视频回退

方法 描述
SetPublishFallbackOption 设置发布的音视频流回退选项
SetSubscribeFallbackOption 设置订阅的音视频流回退选项
SetRemoteUserPriority 设置用户优先级

加密

方法 描述
SetEncryptInfo 设置AES加密算法和加密密钥

有四种内置的加密算法,详见 ByteEngineEncryptType
SetCustomizeEncryptHandler 设置自定义加密

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

音频数据回调

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

视频数据回调

方法 描述
RegisterVideoFrameObserver 注册视频数据回调观察者
RegisterMetadataObserver 注册 metadata 观察者,用于接收或发送 metadata,底层通过在视频帧中添加 SEI 数据实现该功能。

注册观察者后,发送的视频帧里面没有 SEI 信息, 会触发 OnReadyToSendMetadata 回调。
注册观察者后,接收的视频帧里面有 SEI 信息,会触发接收
OnMetadataReceived 回调。

频道管理

方法 描述
EnableAutoPublish 设置引擎自动发布属性

视频设备管理

方法 描述
GetVideoDeviceManager 创建视频设备管理实例
GetCount 获取当前系统内视频采集设备数量
GetDevice 根据索引号,获取设备信息
Release 释放当前IVideoDeviceCollection对象占用的资源
EnumerateVideoDevices 获取当前系统视频设备列表
SetDevice 设置当前视频采集设备
GetDevice 获取当前SDK正在使用的设备信息
Release 释放当前IVideoDeviceManager

流消息

方法 描述
SendUserMessage 给房间内指定的用户发送消息,返回这次发送消息的编号。

调用该函数后会收到一次 OnUserMessageSendResult
回调,告知发送结果。
SendUserBinaryMessage 给房间内指定的用户发送二进制消息,返回这次发送消息的编号。
SendRoomMessage 给房间内的所有其他用户发送广播消息。
SendRoomBinaryMessage 给房间内的所有其他用户发送广播消息。

音频设备管理

方法 描述
GetCount 获取设备列表中设备个数
GetDevice 根据索引,获取当前设备列表中设备信息
Release 析构当前对象,释放内存
EnumeratePlaybackDevices 创建音频播放设备列表,该集合包含你调用本接口时系统中的音频播放设备。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表.
EnumerateRecordingDevices 创建音频采集设备列表,该集合包含你调用本接口时系统中的音频采集设备。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表.
SetPlaybackDevice 设置音频播放设备
SetRecordingDevice 设置音频采集设备
SetPlaybackDeviceVolume 设置音频播放设备音量
GetPlaybackDeviceVolume 获取音频播放设备音量
SetRecordingDeviceVolume 设置音频采集设备音量
GetRecordingDeviceVolume 获取音频采集设备音量
SetPlaybackDeviceMute 设置音频播放设备静音,默认为非静音。
GetPlaybackDeviceMute 获取音频播放设备静音信息
SetRecordingDeviceMute 设置音频采集设备静音,默认为非静音
GetRecordingDeviceMute 获取音频采集设备静音信息
GetPlaybackDevice 获取当前使用的音频播放设备ID
GetPlaybackDeviceInfo 获取当前音频播放设备信息
GetRecordingDevice 获取当前音频采集设备ID
GetRecordingDeviceInfo 获取当前音频采集设备信息
StartPlaybackDeviceTest 启动音频播放设备测试
该方法测试播放设备是否能正常工作。SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。
StopPlaybackDeviceTest 停止音频播放设备测试。
StartAudioRecordingDeviceTest 启动音频采集设备测试。
该方法测试音频采集是否能正常工作,启动测试后,SDK 通过 OnAudioVolumeIndication 回调方法向应用上报音量信息
StopAudioRecordingDeviceTest 停止音频采集设备测试。
StartAudioDeviceLoopbackTest 开始音频设备回路测试。
该方法测试音频采集设备和音频播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地讲话声音
然后使用音频播放设备播放出来,同时 SDK 会通过 OnAudioVolumeIndication
回调向应用程序上报音量信息。
StopAudioDeviceLoopbackTest 停止音频设备回路测试。
Release 析构当前对象,释放内存

回调

视频数据回调

回调 描述
OnReadyToSendMetadata 当 SDK 准备发送一个视频帧时,会回调该接口,以确定是否需要在该视频帧中添加 metadata
OnMetadataReceived 当 SDK 收到一个视频帧时,并且其中包含 medatada 时,会回调该接口

自定义音频采集渲染

回调 描述
OnAudioDeviceRecordStart 通知上层应用开启音频采集设备
OnAudioDeviceRecordStop 通知上层应用关闭音频采集设备
OnAudioDevicePlayoutStart 通知上层应用开启音频播放设备
OnAudioDevicePlayoutStop 通知上层应用关闭音频播放设备

音频数据回调

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

视频管理

回调 描述
OnLocalScreenFrame 本地屏幕共享流数据回调
OnLocalVideoFrame 本地视频流数据回调
OnRemoteScreenFrame 远端屏幕共享流数据回调
OnRemoteVideoFrame 远端视频数据回调
OnFrame 视频帧回调
OnRtcStats 用户加入房间成功后,每 2s 会收到一次房间内统计信息的回调。
OnMuteAllRemoteVideo 房间内用户暂停/恢复接收所有视频流时,房间内其他用户收到此回调。参看 MuteAllRemoteVideo。
OnFirstLocalVideoFrameCaptured 第一帧本地采集的视频/屏幕共享画面在本地视图渲染完成时,收到此回调。
OnLocalVideoSizeChanged 本地视频大小或旋转配置发生改变时,收到此回调。
OnRemoteVideoSizeChanged 远端视频大小或旋转配置发生改变时,房间内订阅此视频流的用户会收到此回调。
OnFirstRemoteVideoFrameRendered 第一帧远端视频流在视图上渲染成功后,收到此回调。
OnUserMuteVideo 房间内用户暂停/恢复发送视频流时,房间内其他用户()收到此回调。参看 MuteLocalVideoStream。
OnUserEnableLocalVideo 远端用户开启/关闭本地视频采集时回调该事件,当远端用户调用 EnableLocalVideo 时,其他用户会触发此回调。
OnLocalVideoStats 通话中本地视频流的统计信息回调。
OnRemoteVideoStats 通话中远端视频流的统计信息回调。
OnLocalVideoStateChanged 本地视频流的状态发生改变时,收到该事件。
OnRemoteVideoStateChanged 远端视频流的状态发生改变时,房间内的用户会收到该事件。
OnMirrorStateChanged 当本地视频镜像状态改变时回调该事件。默认回调该事件。

加密

回调 描述
OnEncryptData 自定义加密的方法接口

通过继承并实现该方法,可以扩展传输过程中的加密方法,详见 SetCustomizeEncryptHandler
OnDecryptData 自定义解密的方法接口

通过继承并实现该方法,可以扩展传输过程中的解密方法,详见 SetCustomizeEncryptHandler

频道管理

回调 描述
OnStart 启动渲染器。
OnStop 停止渲染器。
Release 释放渲染器。

房间管理

回调 描述
OnJoinChannelSuccess 加入房间成功回调。此回调事件表示本地用户成功加入了指定的房间。

用户调用 JoinChannel 方法加入房间,首次加入房间成功后 SDK 通过此回调事件通知用户加入房间成功。此回调事件在用户调用 JoinChannel 方法加入房间到用户调用 LeaveChannel 方法离开房间期间至多回调一次。
OnRejoinChannelSuccess 重新加入房间成功回调。此回调事件表示本地用户成功重连入房间。

本地用户加入房间成功后,在本地网络状况不佳的情况下,SDK 可能会与服务器失去连接。此时 SDK 将会自动重连,并在重连成功通过此回调事件通知用户重连成功。
OnLeaveChannel 离开房间成功回调。

用户调用 LeaveChannel 方法后,SDK 会停止所有的发布订阅流,并释放所有通话相关的音视频资源。SDK 完成所有的资源释放后通过此回调通知用户。

离开房间结束通话后,如果 App 需要使用系统音视频设备,则建议在收到此回调后再初始化音视频设备,否则可能由于 SDK 占用了导致 App 初始化音视频设备失败。
OnChannelWarning SDK 发生警告回调。

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

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

此回调用于提示房间中有新用户加入。如果本地用户已经在房间中,有新的远端用户加入时,SDK 通过此回调方法通知房间中有新用户加入;如果用户加入房间前,房间中已有其他用户,加入房间后用户也会收到这些已在房间中的远端用户的加入房间回调。

回调的具体触发时机如下:

1.远端的房间模式为通信模式的用户或房间模式为其他模式的主播、观众角色的用户,调用 JoinChannel 方法加入房间。

2.远端的房间模式为通信模式的用户或房间模式为其他模式的主播、观众角色的用户,在断网后重连入房间。

3.远端已在房间中的房间模式为直播、游戏或云游戏模式的静默观众角色的用户,调用 SetClientRole 方法将用户角色切换至主播或观众。

4.本地用户加入房间时,会收到已在房间中的远端的房间模式为通信模式的用户或房间模式为其他模式的主播、观众角色的用户的加入房间回调。
OnUserOffline 远端用户离开房间回调。

此回调用于提示房间中有远端用户离开。用户离开房间的原因有两个,即用户主动调用 LeaveChannel 方法离开房间和超时掉线。

回调的具体触发时机如下:

1.远端的房间模式为通信模式的用户或房间模式为其他模式的主播、观众角色的用户,调用 LeaveChannel 方法离开房间。用户离开的原因为 USER_OFFLINE_QUIT。

2.远端已在房间中的房间模式为直播、游戏或云游戏模式的主播、观众角色的用户调用 SetClientRole 方法将用户角色切换至静默观众。用户离开的原因为 USER_OFFLINE_QUIT。

3.远端的房间模式为通信模式的用户或房间模式为其他模式的主播、观众角色的用户,断网且一直未恢复。用户离开的原因为 USER_OFFLINE_DROPPED。
OnStreamRemove 房间内的远端用户停止发布音视频流时,本地用户会收到此回调。
OnStreamAdd 用户加入房间时,会收到此回调,包含房间中所有已发布的流。

房间内的用户发布新的音视频流时,房间内的其他用户会收到此回调。
OnAudioFrameSendStateChanged 音频首帧发送状态改变回调
OnVideoFrameSendStateChanged 视频首帧发送状态改变回调
OnScreenVideoFrameSendStateChanged 屏幕共享流视频首帧发送状态改变回调
OnAudioFramePlayStateChanged 音频首帧播放状态改变回调
OnVideoFramePlayStateChanged 视频首帧播放状态改变回调
OnScreenVideoFramePlayStateChanged 屏幕共享流视频首帧播放状态改变回调

音频管理

回调 描述
OnAudioQuality 当收到音频质量信息的时候回调该事件

音频事件回调

回调 描述
OnAudioVolumeIndication 提示房间内所有用户发送音量的回调。
OnMuteAllRemoteAudio 当房间内用户调用 MuteAllRemoteAudio,
改变接收所有远端音频流的状态时, 房间内其他用户收到这个回调。
OnUserMuteAudio 房间内某用户调用 MuteLocalAudio
改变本地音频发送状态时,房间内其他用户会收到此回调。
OnUserEnableLocalAudio 远端用户开启/关闭音频设备采集时,房间内其他人会收到这个回调。
该回调由远端用户调用 EnableLocalAudio 方法触发。
OnFirstLocalAudioFrame 本地采集到第一帧音频帧时,收到该回调
OnFirstRemoteAudioFrame 接收到来自远端某音频流的第一帧时,收到该回调。
OnLocalAudioStateChanged 本地音频的状态发生改变时,该回调通知当前的本地音频状态。
OnRemoteAudioStateChanged 用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。

引擎管理

回调 描述
OnNetworkQuality 通话中用户的媒体流网络上下行质量报告回调。加入房间成功后,每隔 2 秒会触发此回调,通知房间内用户与媒体服务器之间数据交互的网络质量。
OnLogReport 端监控日志回调。当产生一个端监控事件时触发该回调。
OnConnectionStateChanged SDK 与 RTC 服务器的网络连接状态改变时,会收到此回调。
OnNetworkTypeChanged SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
OnMediaDeviceStateChanged 媒体设备开启、停止状态回调
OnMediaDeviceNotification 媒体设备事件回调。
OnSysStats 周期性地发出回调,报告当前cpu与memory使用率

数据统计

回调 描述
OnLocalAudioStats 通话中本地音频流的统计信息回调。
该回调描述本地设备发送音频流的统计信息,每 2 秒触发一次。
OnRemoteAudioStats 通话中远端音频流的统计信息回调。
该回调描述远端用户在通话中端到端的音频流状态,针对每个远端用户/主播每 2 秒触发一次。如果远端同时存在多个用户/主播,该回调每 2 秒会被触发多次。

音视频回退

回调 描述
OnRemoteStreamSwitch 收到远端流回退或恢复时回调该事件。

流消息

回调 描述
OnRoomMessageReceived 接收到房间内广播消息的回调。
OnRoomBinaryMessageReceived 接收到房间内二进制广播消息的回调。
OnUserMessageReceived 点对点消息回调。接收到同一房间内 uid 所属用户发来消息时触发。
OnUserBinaryMessageReceived 接收到同一房间内 uid 所属用户发来二进制消息的回调。
OnUserMessageSendResult 当调用 SendUserMessage 函数发送消息后,回调此条消息的发送结果(反馈)。
OnRoomMessageSendResult 当调用 SendRoomMessage 函数发送消息后,回调此条消息的发送结果(反馈)。

警告码

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

错误码

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

混音

回调 描述
OnAudioMixingFinished 本地音乐文件播放已结束回调。
当调用 StartAudioMixing 启动的混音文件播放结束后,会触发该回调。
OnAudioMixingStateChanged 音频混音文件播放状态改变时回调。此回调会被触发的时机汇总如下:

+ 当调用 StartAudioMixing 方法成功后, 会触发该 state 值为 kAudioMixingStatePlaying 回调; 否则触发 state 值为 kAudioMixingStateFailed 的回调。

+ 当调用 ResumeAudioMixing 方法恢复播放成功后, 会触发该 state 值为 kAudioMixingStatePlaying 回调; 否则触发 state 值为 kAudioMixingStateFailed 的回调。

+ 当调用 PauseAudioMixing 方法暂停播放后, 会触发该 state 值为 kAudioMixingStatePlaying 回调; 否则触发 state 值为 kAudioMixingStateFailed 的回调。

+ 当调用 StopAudioMixing 方法暂停止播放后, 会触发该 state 值为 kAudioMixingStatePlaying 回调; 否则触发 state 值为 kAudioMixingStateFailed 的回调。
OnAudioEffectFinished 本地音效文件播放已结束回调。
当调用 PlayEffect 方法开始播放指定音效文件, 音效文件播放结束后, 应用会收到该回调。