| 方法 | 描述 |
|---|---|
| create | 创建引擎对象 此方法应该作为正常 SDK 流程中的第一步操作,通过创建一个引擎实例,来使用 SDK 的其他能力 |
| create | 创建引擎对象 此方法应该作为正常 SDK 流程中的第一步操作,通过创建一个引擎实例,来使用 SDK 的其他能力 |
| create | 创建引擎对象 此方法应该作为正常 SDK 流程中的第一步操作,通过创建一个引擎实例,来使用 SDK 的其他能力 |
| create | 创建引擎对象 此方法应该作为正常 SDK 流程中的第一步操作,通过创建一个引擎实例,来使用 SDK 的其他能力 |
| createEngine | 创建引擎对象 此方法应该作为正常 SDK 流程中的第一步操作,通过创建一个引擎实例,来使用 SDK 的其他能力 |
| destroyEngine | 销毁引擎 销毁由 createEngine 所创建引擎实例,并释放所有相关资源 |
| destroy | 销毁引擎 销毁由 createEngine 所创建引擎实例,并释放所有相关资源 |
| getSdkVersion | 获取 SDK 当前的版本号。 |
| getErrorDescription | 获取SDK内各种错误码、警告码的描述文字 |
| setRtcEngineEventHandler | 设置引擎事件回调的接收类,必须继承自 IRtcEngineEventHandler 。 |
| setOnDestroyCompletedCallback | 设置引擎销毁后通知 App 的回调函数。 |
| setBusinessId | 设置业务标识参数。 可通过 businessId 区分不同的业务场景(角色/策略等)。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能。 |
| 方法 | 描述 |
|---|---|
| joinRoom | 加入房间。用户调用此方法加入房间,同一房间内的用户间可以相互通话。 进房后重复调用无效,用户必须调用 LeaveRoomleaveRoom 退出当前房间后,才能加入下一个房间。 本地用户调用此方法加入房间成功后,会收到 OnJoinRoomResultonJoinRoomResult 回调通知,远端用户会收到 onUserJoined 回调通知。 |
| leaveRoom | 离开房间。 用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。 调用 JoinRoom 方法加入房间后,必须调用此方法结束通话,否则无法开始下一次通话。无论当前是否在房间内,都可以调用此方法。重复调用此方法没有负面影响。 此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 onLeaveRoomonLeaveChannel 回调通知。 |
| updateToken | 更新 Token。 Token 有一定的有效期,当 Token 过期时,用户需调用此方法更新房间的 Token 信息。 用户调用 JoinRoom 方法加入房间时,如果使用了过期的 Token 将导致加入房间失败,并会收到 onError 回调通知,回调错误码为 ErrorCode.ERROR_CODE_INVALID_TOKENErrorCode。此时需要重新获取 Token,并调用此方法更新 Token。 |
| setUserRole | 设置用户角色。默认角色为主播。 通过设置不同的用户角色,可以控制用户在房间内的行为: + 能否发布音视频流; + 用户自身是否在房间中隐身。 |
| enableAutoSubscribe | 开启/关闭自动订阅功能。 用户调用此方法设置房间中是否开启自动订阅功能。SDK 默认开启自动订阅功能。 如需关闭自动订阅功能,建议在调用 joinChannel 方法加入房间前设置完成。 |
| subscribeStream | 订阅指定的房间内远端音视频流。 关闭自动订阅功能,使用手动订阅模式时用户调用此方法按需订阅房间中的音视频流。 此方法仅在关闭自动订阅功能时生效。用户需在加入房间前调用 enableAutoSubscribe 方法关闭自动订阅功能以使用手动订阅模式。 订阅流失败时,SDK 会按失败原因回调 onError 通知用户,具体错误可参考错误码 ErrorCode 描述。 |
| unSubscribe | 停止订阅指定的房间内远端音视频流。 关闭自动订阅功能,使用手动订阅模式时用户调用此方法停止订阅已订阅的音视频流。 此方法仅在开启手动订阅功能时生效,用户需在加入房间前调用 enableAutoSubscribe 方法关闭自动订阅功能以使用手动订阅模式。 |
| 方法 | 描述 |
|---|---|
| enableLocalAudio | 开启关闭本地音频。 调用该方法后,房间中的其他用户会收到 onUserEnableLocalAudio 的回调。 |
| setAudioScenario | 设置音频场景类型 |
| setAudioPlaybackDevice | 设置音频播放设备为扬声器或者听筒,默认使用扬声器。 音频播放设备发生变化时,会收到 onAudioPlaybackDeviceChanged 事件回调。 |
| isSpeakerphoneEnabled | 查询扬声器启用状态 |
| setAudioVolumeIndicationInterval | 设置是否开启房间内音量提示。 如果开启,将以设置的时间间隔收到音量事件回调。无论房间内有无发言,都会收到回调。 具体回调参看 onAudioVolumeIndication。 |
| muteLocalAudio | 控制本地音频流的发送状态:发送/不发送。 使用此方法后,房间中的其他用户会收到回调 onUserMuteAudio。 |
| muteAllRemoteAudio | 设置对来自远端的所有音频流的接收状态。默认为接收。 |
| muteRemoteAudio | 设置对来自指定远端用户的音频流的接收状态。默认为接收。 |
| setRecordingVolume | 调节音频采集音量。 |
| setPlaybackVolume | 调节本地播放的所有远端用户混音后的音量。 |
| setRemoteAudioPlaybackVolume | 调节来自指定远端用户的音频播放音量,默认为 100。 |
| setAudioPerformanceProfile | 通过设置音频处理策略等级,获得不同的音频处理质量,默认为 auto 模式。 auto 模式下,SDK 会根据应用所在机型等级,自动适配音频处理策略。一般情况下,使用 auto 模式就可满足你的音视频通话需求。 你应使用此方法,实现音频体验和系统性能占用之间的平衡: 如果你希望系统性能占用较低,你应设置较低的策略等级;如果你更在意音频质量,你应选择设置更高的策略等级。 音频处理策略详见 AudioPerformanceProfile。 |
| 方法 | 描述 |
|---|---|
| startVideoCapture | 开启本地视频采集。默认为关闭状态。 |
| stopVideoCapture | 关闭本地视频采集。默认为关闭状态。 |
| startPreview | 开启视频预览,视频预览默认为关闭状态。 |
| stopPreview | 关闭视频预览,视频预览默认为关闭状态。 |
| setLocalVideoCanvas | 设置本地视频渲染时,使用的视图,并设置渲染模式。 你应在加入房间前,绑定本地视图。退出房间后,此设置仍然有效。 如果需要解除绑定,你可以调用本方法绑定空视图。 |
| setupLocalVideoRender | 设置本地视频外部渲染 |
| setupLocalVideoRender | 设置本地视频外部渲染 |
| setupLocalScreenRender | 设置本地屏幕视频的外部渲染 |
| setRemoteVideoCanvas | 设置来自指定远端用户 user_id 的视频渲染时,使用的视图,并设置渲染模式。 |
| setLocalVideoMirrorMode | 设置采用前置摄像头采集时,是否开启镜像模式。 调用后,你会收到回调:OnMirrorStateChangedonMirrorStateChanged |
| isLocalVideoMirrorOn | 获取本地视频镜像。 |
| switchCamera | 切换前置/后置摄像头 |
| replaceBackground | 视频图像分割,替换背景 |
| muteLocalVideo | 停止/启动发送本地视频流。 调用该方法后,房间中的其他用户会收到 onUserMuteVideo 的回调。 |
| muteAllRemoteVideo | 设置是否播放所有远端视频流 |
| muteRemoteVideo | 设置是否播放远端视频流 |
| setVideoInputType | 配置外部视频源。如有需要,该接口须在进房前调用。进房后不可切换视频源,须先退出房间后重新加入。 |
| setVideoEncoderConfig | 启动推送多路视频流,设置推送多路流时的各路视频参数, 包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。 |
| setVideoEncoderConfig | 设置推送多路流时的各路视频参数,以及视频旋转角度。 |
| publishScreen | 发布本地屏幕共享流。 |
| unpublishScreen | 停止发布本地屏幕共享流。 |
| startScreenSharing | 开启屏幕共享。 |
| updateScreenSharingParameters | 修改屏幕共享流参数。 |
| stopScreenSharing | 关闭屏幕共享。 |
| pushScreenFrame | 发布共享屏幕视频帧 |
| checkVideoEffectLicense | 视频特效许可证检查 |
| setVideoEffectAlgoModelPath | 设置视频特效算法模型路径 |
| enableVideoEffect | 开启关闭视频特效 |
| setVideoEffectPath | 设置视频Effect资源路径,可以一次设置多种资源 |
| addVideoEffectPath | 增加特效包,支持同时增加多个特效包 |
| removeVideoEffectPath | 移除特效包,支持同时移除多个特效包 |
| updateVideoEffect | 设置特效强度 |
| setVideoEffectColorFilter | 设置颜色滤镜 |
| setVideoEffectColorFilterIntensity | 设置颜色滤镜强度 |
| RTCVideoFrame | 构造函数 |
| 方法 | 描述 |
|---|---|
| sendUserMessage | 给房间内指定的用户发送文本消息(P2P),返回这次发送消息的编号。 |
| sendUserBinaryMessage | 给房间内指定的用户发送二进制消息(P2P),返回这次发送消息的编号。 |
| 方法 | 描述 |
|---|---|
| feedback | 通话结束,用户反馈上报 |
| setRuntimeParameters |
| 方法 | 描述 |
|---|---|
| setupRemoteVideoRender | 设置远端视频的外部渲染 |
| setupRemoteVideoRender | 设置远端视频的外部渲染 |
| setupRemoteVideoRender | 设置远端视频的外部渲染 |
| setupRemoteVideoRender | 设置远端视频的外部渲染 |
| setupRemoteScreenRender | 设置远端屏幕流视频的外部渲染 |
| setupRemoteScreenRender | 设置远端屏幕流视频的外部渲染 |
| pushExternalVideoFrame | 推送外部视频帧。 |
| pushExternalVideoFrame | 推送外部视频帧。 |
| 方法 | 描述 |
|---|---|
| startAudioMixing | 开始播放音乐文件及混音。 |
| stopAudioMixing | 停止播放音乐文件及混音。 |
| pauseAudioMixing | 暂停播放音乐文件 |
| resumeAudioMixing | 恢复播放音乐文件 |
| adjustAudioMixingVolume | 调节音乐文件的文件音量。为保证更好的音质,建议将 volume 值设为 [0,100]。 |
| getAudioMixingDuration | 获取音乐文件时长 |
| getAudioMixingCurrentPosition | 获取音乐文件播放进度 |
| setAudioMixingPosition | 设置音频文件的播放位置 |
| adjustAudioMixingPlayoutVolume | 调节音乐文件的本地播放音量。为保证更好的音质,建议将 volume 值设为 [0,100]。 |
| adjustAudioMixingPublishVolume | 调节音乐文件的远端播放音量。为保证更好的音质,建议将 volume 值设为 [0,100]。 |
| getEffectVolume | 获取指定音效文件的文件音量 |
| setVolumeOfEffect | 调节指定音效文件的文件音量。为保证更好的音质,建议将 volume 值设为 [0,100]。 |
| setEffectsVolume | 调节所有音效文件的文件音量。为保证更好的音质,建议将 volume 值设为 [0,100]。 |
| playEffect | 开始播放指定音效文件。你可以在该方法中设置音效文件的播放次数、音量大小,以及远端用户是否能听到该音效。 |
| preloadEffect | 预加载指定音效文件 |
| unloadEffect | 卸载指定音效文件 |
| stopEffect | 停止播放指定音效文件 |
| pauseEffect | 暂停播放指定音效文件 |
| resumeEffect | 恢复播放指定音效文件 |
| stopAllEffects | 停止所有音效文件的播放 |
| unloadAllEffects | 卸载所有音效文件 |
| pauseAllEffects | 暂停所有音效文件的播放 |
| resumeAllEffects | 恢复所有音效文件的播放 |
| setAudioPlayoutMixStream | 启动/停止外部音频流混音, 并设置混音数据格式 |
| getAudioMixingStreamCachedFrameNum | 获取SDK当前缓冲数据 |
| pushAudioMixingStreamData | 向SDK推送混音的音频数据 |
| 方法 | 描述 |
|---|---|
| sendRoomMessage | 给房间内的所有其他用户发送广播消息。 |
| sendRoomBinaryMessage | 给房间内的所有其他用户发送广播二进制消息。 |
| 方法 | 描述 |
|---|---|
| setRecordingAudioFrameParameters | 设置本地麦克风录制的音频数据回调参数 |
| setPlaybackAudioFrameParameters | 设置远端所有用户音频数据混音后的音频数据回调参数 |
| setMixedAudioFrameParameters | 设置本地麦克风录制音频数据和远端所有用户音频数据混音后的音频数据回调参数 |
| registerAudioFrameObserver | 注册音频数据回调观察者 |
| 方法 | 描述 |
|---|---|
| startLiveTranscoding | 开启合流转推,并设置合流的视频视图布局和音频属性。 |
| stopLiveTranscoding | 停止合流转推。 |
| updateLiveTranscodingLayout | 启用服务端合流转推后,你可以使用此方法更新合流视频布局。 |
| 方法 | 描述 |
|---|---|
| enableExternalAudioDevice | 启用自定义音频采集渲染,将音频采集渲染由内部模块切换至自定义模块。 |
| disableExternalAudioDevice | 禁用已开启的自定义音频采集渲染,将音频采集渲染由自定义模块切换至内部模块。 |
| pushExternalAudioFrame | 推送外部音频数据。 |
| pullExternalAudioFrame | 拉取外部音频数据。 |
| 方法 | 描述 |
|---|---|
| setPublishFallbackOption | 设置发布的音视频流回退选项。 你可以调用这个接口来设置网络情况不佳或性能不足时只发送小流,以保证通话质量。 |
| setRemoteSubscribeFallbackOption | 设置订阅的音视频流回退选项。 |
| setRemoteUserPriority | 设置用户优先级。 |
| 方法 | 描述 |
|---|---|
| registerMetadataObserver | 注册 metadata 观察者,用于接收或发送 metadata,底层通过在视频帧中添加 SEI 数据实现该功能。 注册观察者后,发送的视频帧里面没有 SEI 信息, 会触发 onReadyToSendMetadata 回调。 注册观察者后,接收的视频帧里面有 SEI 信息,会触发接收 onMetadataReceived 回调。 |
| 方法 | 描述 |
|---|---|
| setEncryptInfo | 设置AES加密算法和加密密钥 有四种内置的加密算法,为 AES-128-CBC,AES-256-CBC,AES-128-ECB,AES-256-ECB |
| setCustomizeEncryptHandler | 设置自定义加密方法 自定义加密方法需要实现对应的加密/解密方法 |
| 方法 | 描述 |
|---|---|
| startCloudRendering | |
| updateCloudRendering | |
| stopCloudRendering |
| 方法 | 描述 |
|---|---|
| shallowCopy |
| 回调 | 描述 |
|---|---|
| onJoinRoomResult | 首次加入房间/重连加入房间的回调。此回调表示用户调用 JoinRoom 的结果,根据错误码判断成功/失败以及区别是否为重连。 |
| onResponse | API 响应回调。 |
| onLeaveRoom | 离开房间成功回调。 用户调用 LeaveRoomleaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。 离开房间后,如果 App 需要使用系统音视频设备,则建议在收到此回调后再初始化音视频设备,否则可能由于 SDK 占用音视频设备导致初始化失败。 |
| onUserJoined | 远端主播角色用户加入房间回调。 1.远端主播角色用户调用 JoinRoom 方法加入房间时,房间内其他用户将收到该事件。 2.远端主播角色用户断网后重新连入房间时,房间内其他用户将收到该事件。 3.远端静默观众角色用户调用 SetUserRole 方法将角色切换至主播时,房间内其他用户将收到该事件。 4.新进房用户也会收到进房前已在房内的主播角色用户的进房回调通知。 |
| onUserLeave | 远端用户离开房间回调。 发生以下情形时,房间内其他用户会收到此事件: 1.远端主播角色用户调用 LeaveRoomleaveRoom 方法离开房间时。 2.远端主播角色用户调用 SetUserRole 方法将角色切换至静默观众。 3.远端主播角色用户断网,且一直未恢复。 |
| onStreamAdd | 房间内新流发布回调。 房间内的远端用户发布新的音视频流时,本地用户会收到此回调通知。 |
| onStreamRemove | 房间内远端流移除回调。 房间内的远端用户停止发布音视频流时,本地用户会收到此回调通知。 |
| onActiveSpeaker | 监测到活跃用户回调。 |
| onAudioFrameSendStateChanged | 音频首帧发送状态改变回调 |
| onVideoFrameSendStateChanged | 视频首帧发送状态改变回调 |
| onScreenVideoFrameSendStateChanged | 屏幕共享流视频首帧发送状态改变回调 |
| onAudioFramePlayStateChanged | 音频首帧播放状态改变回调 |
| onVideoFramePlayStateChanged | 视频首帧播放状态改变回调 |
| onScreenVideoFramePlayStateChanged | 屏幕共享流视频首帧播放状态改变回调 |
| 回调 | 描述 |
|---|---|
| onWarning | 发生警告回调。 |
| 回调 | 描述 |
|---|---|
| onError | 当 SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。 |
| 回调 | 描述 |
|---|---|
| onRoomStats | 房间通话统计信息回调。 用户进房开始通话后,每 2s 收到一次本回调。 |
| onSysStats | 每2秒发生回调,通知当前cpu,内存使用的信息。 |
| onLocalStreamStats | 反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调,每 2s 触发一次。 |
| onRemoteStreamStats | 通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况,每 2s 触发一次。 |
| 回调 | 描述 |
|---|---|
| onAudioVolumeIndication | 提示房间内所有用户发送音量的回调。 |
| onUserMuteAudio | 房间内某用户调用 muteLocalAudio 改变本地音频发送状态时,房间内其他用户会收到此回调。 |
| onUserEnableLocalAudio | 远端用户已开启/关闭音频设备采集时,房间内其他用户会收到这个回调。 该回调由远端用户调用 enableLocalAudio 方法触发 |
| onLocalAudioStateChanged | 本地音频的状态发生改变时,该回调通知当前的本地音频状态。 |
| onRemoteAudioStateChanged | 远端用户音频状态发生改变时,该回调报告当前的远端音频流状态。 |
| onAudioPlaybackDeviceChanged | 音频播放设备变化时,收到该回调。 |
| onFirstLocalAudioFrame | 本地采集到第一帧音频帧时,收到该回调。 |
| onFirstRemoteAudioFrame | 接收到来自远端某音频流的第一帧时,收到该回调。 |
| 回调 | 描述 |
|---|---|
| onNetworkTypeChanged | SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。 |
| onConnectionStateChanged | 回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。 |
| onLogReport | 上报日志时回调该事件。 |
| 回调 | 描述 |
|---|---|
| onMuteAllRemoteVideo | 房间内用户暂停/恢复接收所有视频流时,房间内其他用户收到此回调。参看 MuteAllRemoteVideo。 |
| onUserMuteVideo | 房间内用户暂停/恢复发送视频流时,房间内其他用户将收到此回调。参看 muteLocalVideoStream。 |
| onUserStartVideoCapture | 远端用户开启本地视频采集时,房间内其他用户会收到该事件。 |
| onUserStopVideoCapture | 远端用户关闭本地视频采集时,房间内其他用户将会收到该事件。 |
| onLocalVideoStateChanged | 本地视频流的状态发生改变时,收到该事件。 |
| onRemoteVideoStateChanged | 远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。 |
| onFirstRemoteVideoFrameRendered | 第一帧远端视频流在视图上渲染成功后,收到此回调。 |
| onFirstLocalVideoFrameCaptured | 第一帧本地采集的视频/屏幕共享画面在本地视图渲染完成时,收到此回调。 |
| onLocalVideoSizeChanged | 本地视频大小或旋转信息发生改变时,收到此回调。 |
| onRemoteVideoSizeChanged | 远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。 |
| onMirrorStateChanged | 当本地视频镜像状态改变时回调该事件。默认回调该事件。 |
| 回调 | 描述 |
|---|---|
| onSimulcastSubscribeFallback | 订因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。 |
| onPerformanceAlarms | 本地未开启发布性能回退,检测到设备性能不足时,收到此回调。 本地开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。 |
| 回调 | 描述 |
|---|---|
| onAudioMixingFinished | 本地音乐文件播放已结束回调。 当调用 startAudioMixing 启动的混音文件播放结束后,会触发该回调。 |
| onAudioEffectFinished | 本地音效文件播放已结束回调。 |
| 回调 | 描述 |
|---|---|
| onRoomMessageReceived | 接收到房间内广播消息的回调。 |
| onRoomBinaryMessageReceived | 接收到房间内广播二进制消息的回调。 |
| onRoomMessageSendResult | 当调用 SendRoomMessage 函数发送消息后,回调此条消息的发送结果(反馈)。 |
| 回调 | 描述 |
|---|---|
| onLiveTranscodingResult | 合流转推错误回调。 用户调用 startLiveTranscoding 接口或直接在服务端启动合流转推功能后,启动结果和推流过程中的错误均会通过此回调方法通知用户。 |
| 回调 | 描述 |
|---|---|
| onUserMessageReceived | 收到来自房间中其他用户发来的文本消息时(P2P),会收到此回调。 |
| onUserBinaryMessageReceived | 收到来自房间中其他用户发来的二进制消息时(P2P),会收到此回调。 |
| onUserMessageSendResult | 向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。 |
| 回调 | 描述 |
|---|---|
| onInitialize | 初始化渲染器。 |
| onStart | 启动渲染器。 |
| onStop | 停止渲染器。 |
| onDispose | 释放渲染器。 |
| getEGLContextHandle | 获取 EGLContextHandle。 |
| getBufferType | 获取Buffer类型。 |
| getPixelFormat | 获取像素格式。 |
| 回调 | 描述 |
|---|---|
| onRecordAudioFrame | 返回麦克风录制的音频数据 |
| onPlaybackAudioFrame | 返回远端所有用户混音后的音频数据 |
| onMixedAudioFrame | 返回本地麦克风录制和远端所有用户混音后的音频数据 |
| 回调 | 描述 |
|---|---|
| onMetadataReceived | 当SDK收到的视频帧包含 medatada时,会回调该接口 |
| onReadyToSendMetadata | 当SDK准备发送一个视频帧时,会回调该接口,向你询问是否需要在该视频帧中添加 metadata |