| 方法 | 描述 |
|---|---|
| sharedInstance | 获取 ByteRTCEngineKit 单例对象。 |
| destroy | 销毁由 initWithAppId:delegate:parameters: 创建的引擎实例,并释放所有相关资源。 |
| getSdkVersion | 获取 SDK 当前的版本号。 |
| getErrorDescription: | 获取 SDK 内各种错误码、警告码的描述文字。 |
| initWithAppId:delegate:parameters: | 创建引擎对象。 如果当前线程中未创建引擎实例,那么你必须先使用此方法,以使用 RTC 提供的各种音视频能力。 如果当前线程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。 |
| destroyEngine | 手动销毁引擎实例对象,如果当前的引擎对象是通过 initWithAppId:delegate:parameters: 所创建的,则行为与 destroy 保持一致 |
| setBusinessId: | 设置业务标识参数 可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。 |
| feedbackTypes:desc: | 通话结束,将用户反馈的问题上报到 RTC |
| 方法 | 描述 |
|---|---|
| setUserVisibility: | 设置用户可见性。默认可见。 |
| publishStream: | 在当前所在房间内发布本地通过摄像头/麦克风采集的媒体流 |
| unpublishStream: | 停止将本地摄像头/麦克风采集的媒体流发布到当前所在房间中 |
| joinRoomByKey:roomId:userInfo:rtcRoomConfig: | 创建/加入房间:房间不存在时即创建房间;房间存在时,未加入房间的用户可加入这个房间。 同一个房间内的用户间可以相互通话。 进房后重复调用无效,用户必须调用 leaveRoom 退出当前房间后,才能加入下一个房间。 |
| leaveRoom | 离开房间。 用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。 此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 rtcEngine:onLeaveRoomWithStats: 回调通知。 |
| updateToken: | 更新 Token。 用户调用 joinRoomByKey:roomId:userInfo:rtcRoomConfig: 方法加入房间时, 如果使用了过期的 Token 将导致加入房间失败,并会收到 rtcEngine:onJoinRoomResult:withUid:errorCode:joinType:elapsed: 回调, 回调错误码为 ByteRTCErrorCode 中的 ByteRTCErrorCodeInvalidToken 此时需要重新获取 Token,并调用此方法更新 Token。更新 Token 后,SDK 会自动加入房间。 |
| pauseAllSubscribedStream: | 暂停接收来自远端的媒体流 |
| resumeAllSubscribedStream: | 恢复接收来自远端的媒体流 |
| subscribeStream:mediaStreamType: | 订阅房间内指定的通过摄像头/麦克风采集的媒体流。 该方法对自动订阅和手动订阅模式均适用。 |
| unSubscribeStream:mediaStreamType: | 取消订阅房间内指定的通过摄像头/麦克风采集的媒体流。 该方法对自动订阅和手动订阅模式均适用。 |
| subscribeScreen:mediaStreamType: | 订阅房间内指定的远端屏幕共享音视频流。 该方法对自动订阅和手动订阅模式均适用。 |
| unSubscribeScreen:mediaStreamType: | 取消订阅房间内指定的远端屏幕共享音视频流。 该方法对自动订阅和手动订阅模式均适用。 |
| leaveRoom | 离开房间。 用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。 |
| startForwardStreamToRooms: | 开始跨房间转发媒体流。 在用户进入房间后调用本接口,实现向多个房间转发媒体流,适用于跨房间连麦等场景。 |
| updateForwardStreamToRooms: | 更新跨房间媒体流转发信息。 通过 startForwardStreamToRooms: 发起媒体流转发后,可调用本方法增加或者减少目标房间,或更新房间密钥。 调用本方法增加或删减房间后,将在本端触发 rtcRoom:onForwardStreamStateChanged: 回调,包含发生了变动的目标房间中媒体流转发状态。 |
| stopForwardStreamToRooms | 停止跨房间媒体流转发。 通过 startForwardStreamToRooms: 发起媒体流转发后,可调用本方法停止向所有目标房间转发媒体流。 |
| pauseForwardStreamToAllRooms | 暂停跨房间媒体流转发。 通过 startForwardStreamToRooms: 发起媒体流转发后,可调用本方法暂停向所有目标房间转发媒体流。 调用本方法暂停向所有目标房间转发后,你可以随时调用 resumeForwardStreamToAllRooms 快速恢复转发。 |
| resumeForwardStreamToAllRooms | 恢复跨房间媒体流转发。 调用 pauseForwardStreamToAllRooms 暂停转发之后,调用本方法恢复向所有目标房间转发媒体流。 |
| 方法 | 描述 |
|---|---|
| stopAudioCapture | 关闭内部音频采集。默认为关闭状态。 内部采集是指:使用 RTC SDK 内置的视频采集机制进行视频采集。 调用该方法,本地用户会收到 rtcEngine:onMediaDeviceStateChanged:device_type:device_state:device_error: 的回调。 非隐身用户进房后调用该方法,房间中的其他用户会收到 rtcEngine:onUserStopAudioCapture: 的回调。 |
| setAudioScenario: | 设置音频场景类型 你可以根据你的应用所在场景,选择合适的音频场景类型。 选择音频场景后,SDK 会自动根据客户端音频采集播放设备和状态,适用通话音量/媒体音量。 本方法在进房前和进房后设置均可生效。 |
| setAudioProfile: | 设置音质档位。你应根据业务场景需要选择适合的音质档位。 |
| setCaptureVolume:volume: | 调节音频采集音量 |
| setPlaybackVolume: | 调节本地播放的所有远端用户混音后的音量。 |
| enableAudioPropertiesReport: | 启用音频信息提示。 |
| setEarMonitorMode: | 开启/关闭耳返功能 |
| setEarMonitorVolume: | 设置耳返的音量 |
| getPositionAudioRender | 获取位置音频接口实例,包括范围语音、空间语音等和位置相关的音频接口。 |
| sendStreamSyncInfo:config: | 发送音频流同步信息。将消息通过音频流发送到远端,并实现与音频流同步,该接口调用成功后,远端用户会收到 rtcEngine:onStreamSyncInfoReceived:streamType:data: 回调。 |
| enableAudioSpatialRender: | 开启或关闭空间音频效果。 |
| enableAudioSpatialRender: | 开启或关闭空间音频效果。 |
| updatePosition: | 更新自己的位置坐标。 |
| updatePosition: | 更新自己的位置坐标。 |
| updateSelfOrientation: | 更新自己的朝向。本地朝向的设置只影响本地听到的音频效果,不影响本地发出的音频效果。 |
| updateSelfOrientation: | 更新自己的朝向。本地朝向的设置只影响本地听到的音频效果,不影响本地发出的音频效果。 |
| enableAudioSpatialRender: | 开启或关闭空间音频效果。 |
| enableAudioSpatialRender: | 开启或关闭空间音频效果。 |
| updatePosition: | 更新自己的位置坐标。 |
| updatePosition: | 更新自己的位置坐标。 |
| updateSelfOrientation: | 更新自己的朝向。本地朝向的设置只影响本地听到的音频效果,不影响本地发出的音频效果。 |
| updateSelfOrientation: | 更新自己的朝向。本地朝向的设置只影响本地听到的音频效果,不影响本地发出的音频效果。 |
| setLocalVoicePitch: | 开启本地语音变调功能,多用于 K 歌场景。 使用该方法,你可以对本地语音的音调进行升调或降调等调整。 |
| enableVocalInstrumentBalance: | 开启/关闭音量均衡功能。 开启音量均衡功能后,人声的响度会调整为 -16lufs。如果已调用 setAudioMixingLoudness:loudness: 传入了混音音乐的原始响度,此音乐播放时,响度会调整为 -20lufs。 |
| enablePlaybackDucking: | 打开/关闭音量闪避功能,适用于“一起看”等场景。 开启该功能后,当检测到远端人声时,本地的媒体播放音量会自动减弱,从而保证远端人声的清晰可辨;当远端人声消失时,本地媒体音量会恢复到闪避前的音量水平。 |
| 方法 | 描述 |
|---|---|
| publishScreen: | 在当前所在房间内发布本地屏幕共享音视频流 |
| unpublishScreen: | 停止将本地屏幕共享音视频流发布到当前所在房间中 |
| pushScreenCaptureFrame:time:rotation: | 推送外部屏幕采集帧 |
| startScreenCapture:boudleId: | 使用 RTC SDK 内部采集模块开始采集屏幕音频流和(或)视频流。 |
| updateScreenCapture: | 更新内部屏幕采集时采集的媒体类型。 |
| stopScreenCapture | 在屏幕共享时,停止使用 RTC SDK 内部采集方式采集屏幕音视频。 |
| setScreenAudioSourceType: | 在屏幕共享时,设置屏幕音频的采集方式(内部采集/自定义采集) |
| setScreenAudioStreamIndex: | 在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式 |
| pushScreenAudioFrame: | 使用自定义采集方式,采集屏幕共享时的屏幕音频时,将音频帧推送至 RTC SDK 处进行编码等处理。 |
| 方法 | 描述 |
|---|---|
| sendRoomMessage: | 给房间内的所有其他用户发送文本消息。 |
| sendRoomBinaryMessage: | 给房间内的所有其他用户发送二进制消息。 |
| sendUserMessage:message: | 给房间内指定的用户发送文本消息(P2P)。 |
| sendUserBinaryMessage:message: | 给房间内指定的用户发送二进制消息(P2P)。 |
| login:uid: | 必须先登录注册一个 uid,才能发送房间外消息和向业务服务器发送消息 |
| logout | 调用本接口登出后,无法调用房间外消息以及端到服务器消息相关的方法或收到相关回调。 |
| updateLoginToken: | 更新用户用于登录的 Token Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。 调用 login:uid: 方法登录时,如果使用了过期的 Token 将导致登录失败,并会收到 rtcEngine:onLoginResult:errorCode:elapsed: 回调通知,错误码为 ByteRTCLoginErrorCodeInvalidToken。此时需要重新获取 Token,并调用此方法更新 Token。 |
| setServerParams:url: | 设置业务服务器参数 客户端调用 sendServerMessage: 或 sendServerBinaryMessage: 发送消息给业务服务器之前,必须需要设置有效签名和业务服务器地址。 |
| getPeerOnlineStatus: | 查询对端用户或本端用户的登录状态 |
| sendUserMessageOutsideRoom:message: | 给房间外指定的用户发送文本消息(P2P) |
| sendUserBinaryMessageOutsideRoom:message: | 给房间外指定的用户发送二进制消息(P2P) |
| sendServerMessage: | 客户端给业务服务器发送文本消息(P2Server) |
| sendServerBinaryMessage: | 客户端给业务服务器发送二进制消息(P2Server) |
| 方法 | 描述 |
|---|---|
| startAudioCapture | 开启内部音频采集。默认为关闭状态。 内部采集是指:使用 RTC SDK 内置的视频采集机制进行视频采集。 调用该方法开启后,本地用户会收到 rtcEngine:onMediaDeviceStateChanged:device_type:device_state:device_error: 的回调。 非隐身用户进房后调用该方法,房间中的其他用户会收到 rtcEngine:onUserStartAudioCapture: 的回调。 |
| setLocalVideoSink:withSink:withPixelFormat: | 将本地视频流与自定义渲染器绑定。 |
| setAudioPlaybackDevice: | 设置音频播放设备为扬声器或者听筒,默认使用扬声器。 音频播放设备发生变化时,会收到 rtcEngine:onAudioPlaybackDeviceChanged: 回调。 |
| enableExternalAudioDevice:playbackFormat: | 启用自定义音频采集和渲染。 |
| setRemoteAudioPlaybackVolume:volume: | 调节来自指定远端用户的音频播放音量,默认为 100。 |
| 方法 | 描述 |
|---|---|
| setVoiceChangerType: | 设置变声特效类型 |
| setVoiceReverbType: | 设置混响特效类型 |
| 方法 | 描述 |
|---|---|
| setRemoteVideoSink:withSink:withPixelFormat: | 将远端视频流与自定义渲染器绑定。 |
| pushExternalVideoFrame:time: | 推送外部视频帧。 |
| pushExternalVideoFrame:time:rotation: | 推送外部视频帧。 |
| pushExternalVideoFrame:time:rotation:extendedData:supplementaryInfo: | 推送外部视频帧。 |
| pushExternalByteVideoFrame: | 推送外部视频帧,使用 ByteRTCVideoFrame 进行封装。 |
| 方法 | 描述 |
|---|---|
| checkVideoEffectLicense: | 视频特效许可证检查 |
| enableVideoEffect: | 创建/销毁视频特效引擎 |
| setVideoEffectAlgoModelPath: | 设置视频特效算法模型路径 |
| setVideoEffectNodes: | 设置视频特效素材包 |
| updateVideoEffectNode:nodeKey:nodeValue: | 设置特效强度 |
| setVideoEffectColorFilter: | 设置颜色滤镜 |
| setVideoEffectColorFilterIntensity: | 设置已启用的颜色滤镜强度 |
| initVirtualBackground:withModel: | 虚拟背景功能初始化。 |
| enableVirtualBackground: | 开启虚拟背景。 |
| disableVirtualBackground | 关闭虚拟背景。 |
| registerFaceDetectionObserver:withInterval: | 设置人脸检测结果回调观察者 通过此观察者,你会周期性收到 onFaceDetectionResult:。 |
| 方法 | 描述 |
|---|---|
| registerLocalVideoProcessor:withConfig: | 设置自定义视频前处理器。 使用这个视频前处理器,你能够调用 processVideoFrame: 对 RTC SDK 采集得到的视频帧进行前处理,并将处理后的视频帧用于 RTC 音视频通信。 |
| 方法 | 描述 |
|---|---|
| registerLocalEncodedVideoFrameObserver: | 注册本地视频帧监测器。 无论使用内部采集还是自定义采集,调用该方法后,SDK 每监测到一帧本地视频帧时,都会将视频帧信息通过 onLocalEncodedVideoFrame:Frame: 回调给用户 |
| 方法 | 描述 |
|---|---|
| startLiveTranscoding:transcoding:observer: | 新增转推直播任务,并设置合流的视频视图布局和音频属性。 同一个任务中转推多路直播流时,SDK 会先将多路流合成一路流,然后再进行转推。 |
| stopLiveTranscoding: | 停止转推直播。 |
| updateLiveTranscoding:transcoding: | 更新转推直播参数。 开启转推直播功能后,你可以使用此方法更新合流转推功能配置参数。 |
| 方法 | 描述 |
|---|---|
| enableCloudRending: | 按照传入的布局信息开启云端渲染。 |
| updateCloudRending: | 按照传入的布局信息更新云端渲染。 |
| disableCloudRending | 停止云端渲染。 |
| 方法 | 描述 |
|---|---|
| disableExternalAudioDevice | 禁用自定义音频采集和渲染。 |
| pushExternalAudioFrame: | 推送自定义采集的音频数据到 RTC SDK。 |
| pullExternalAudioFrame: | 拉取音频数据,用于自定义渲染。 |
| 方法 | 描述 |
|---|---|
| setRecordingAudioFrameParameters:channels: | 设置本地麦克风录制的音频数据回调参数 |
| setPlaybackAudioFrameParameters:channels: | 设置远端所有用户音频数据混音后的音频数据回调参数 |
| setMixedAudioFrameParameters:channels: | 设置本地麦克风录制音频数据和远端所有用户音频数据混音后的音频数据回调参数 |
| setAudioFrameObserver: | 注册音频数据回调观察者。 成功注册后,ByteRTCAudioFrameObserver 会触发相关回调。 |
| 方法 | 描述 |
|---|---|
| registerLocalAudioProcessor:format: | 设置自定义音频处理器。 使用该处理器,你可以调用 processAudioFrame: 对 RTC SDK 采集得到的音频帧进行自定义处理,并将处理后的音频帧用于 RTC 音视频通信。 SDK 只持有 processor 的弱引用,你应保证其生命周期。 |
| 方法 | 描述 |
|---|---|
| setPublishFallbackOption: | 设置发布的音视频流回退选项 |
| setSubscribeFallbackOption: | 设置订阅的音视频流回退选项 你可以通过调用该接口来设置网络情况不佳或性能不足时只订阅小流或音频流,以保证通话流畅。 |
| setRemoteUserPriority:uid: | 设置用户优先级 |
| 方法 | 描述 |
|---|---|
| setEncryptType:key: | 设置传输时使用内置加密的方式 |
| setCustomizeEncryptHandler: | 设置自定义加密和解密方式 需要实现对应的加密和解密方法。详情参考 ByteRTCEncryptHandler |
| 方法 | 描述 |
|---|---|
| createRtcRoom: | 创建并获取一个 ByteRTCRoom 对象 用户可以多次调用此方法创建多个 ByteRTCRoom 实例,再分别调用各 ByteRTCRoom 对象的 joinRoomByToken:userInfo:roomConfig: 方法,实现同时加入多个房间。多房间模式下,用户可以同时订阅各房间的音视频流。 |
| destroy | 销毁房间 |
| getRoomId | 获取房间 ID |
| setRtcRoomDelegate: | 通过设置 ByteRTCRoomDelegate 代理,可以监听此 ByteRTCRoom 对象对应的回调事件。 |
| joinRoomByToken:userInfo:roomConfig: | 加入房间。 调用 createRtcRoom: 创建房间后,调用此方法加入房间,同房间内其他用户进行音视频通话。 |
| setUserVisibility: | 设置用户可见性。默认可见。 |
| renewToken: | 更新 Token。 用户调用 joinRoomByToken:userInfo:roomConfig: 方法加入房间时, 如果使用了过期的 Token 将导致加入房间失败,并会收到 rtcEngine:onJoinRoomResult:withUid:errorCode:joinType:elapsed: 回调, 回调错误码为 ByteRTCErrorCode 中的 ByteRTCErrorCodeInvalidToken。 此时需要重新获取 Token,并调用此方法更新 Token。更新 Token 后,SDK 会自动加入房间。 |
| publishStream: | 在当前所在房间内发布本地通过摄像头/麦克风采集的媒体流 |
| unpublishStream: | 停止将本地摄像头/麦克风采集的媒体流发布到当前所在房间中 |
| publishScreen: | 在当前所在房间内发布本地屏幕共享音视频流 |
| unpublishScreen: | 停止将本地屏幕共享音视频流发布到当前所在房间中 |
| subscribeStream:mediaStreamType: | 订阅房间内指定的通过摄像头/麦克风采集的媒体流。 该方法对自动订阅和手动订阅模式均适用。 |
| unSubscribeStream:mediaStreamType: | 取消订阅房间内指定的通过摄像头/麦克风采集的媒体流。 该方法对自动订阅和手动订阅模式均适用。 |
| subscribeScreen:mediaStreamType: | 订阅房间内指定的远端屏幕共享音视频流。 该方法对自动订阅和手动订阅模式均适用。 |
| unSubscribeScreen:mediaStreamType: | 取消订阅房间内指定的远端屏幕共享音视频流。 该方法对自动订阅和手动订阅模式均适用。 |
| pauseAllSubscribedStream: | 暂停接收来自远端的媒体流 |
| resumeAllSubscribedStream: | 恢复接收来自远端的媒体流 |
| startLiveTranscoding:transcoding:observer: | 新增转推直播任务,并设置合流的视频视图布局和音频属性。 同一个任务中转推多路直播流时,SDK 会先将多路流合成一路流,然后再进行转推。 |
| stopLiveTranscoding: | 停止转推直播。 |
| updateLiveTranscoding:transcoding: | 更新转推直播参数。 开启转推直播功能后,你可以使用此方法更新合流转推功能配置参数。 |
| sendUserMessage:message: | 给房间内指定的用户发送文本消息(P2P)。 |
| sendUserBinaryMessage:message: | 给房间内指定的用户发送二进制消息(P2P)。 |
| sendRoomMessage: | 给房间内的所有其他用户发送文本消息。 |
| sendRoomBinaryMessage: | 给房间内的所有其他用户发送二进制消息。 |
| startForwardStreamToRooms: | 开始跨房间转发媒体流。 在用户进入房间后调用本接口,实现向多个房间转发媒体流,适用于跨房间连麦等场景。 |
| updateForwardStreamToRooms: | 更新跨房间媒体流转发信息。 通过 startForwardStreamToRooms: 发起媒体流转发后,可调用本方法增加或者减少目标房间,或更新房间密钥。 调用本方法增加或删减房间后,将在本端触发 rtcRoom:onForwardStreamStateChanged: 回调,包含发生了变动的目标房间中媒体流转发状态。 |
| stopForwardStreamToRooms | 停止跨房间媒体流转发。 通过 startForwardStreamToRooms: 发起媒体流转发后,可调用本方法停止向所有目标房间转发媒体流。 |
| pauseForwardStreamToAllRooms | 暂停跨房间媒体流转发。 通过 startForwardStreamToRooms: 发起媒体流转发后,可调用本方法暂停向所有目标房间转发媒体流。 调用本方法暂停向所有目标房间转发后,你可以随时调用 resumeForwardStreamToAllRooms 快速恢复转发。 |
| resumeForwardStreamToAllRooms | 恢复跨房间媒体流转发。 调用 pauseForwardStreamToAllRooms 暂停转发之后,调用本方法恢复向所有目标房间转发媒体流。 |
| 方法 | 描述 |
|---|---|
| startASR:handler: | 开启自动语音识别服务。该方法将识别后的用户语音转化成文字,并通过 onMessage: 事件回调给用户。 |
| stopASR | 关闭语音识别服务 |
| 方法 | 描述 |
|---|---|
| startFileRecording:withRecordingConfig: | 该方法将通话过程中的音视频数据录制到本地的文件中。 |
| stopFileRecording: | 停止本地录制 |
| 方法 | 描述 |
|---|---|
| startNetworkDetection:uplinkBandwidth:downlink:downlinkBandwidth: | 开始通话前网络探测 |
| stopNetworkDetection | 停止通话前网络探测 |
| 回调 | 描述 |
|---|---|
| rtcEngine:onNetworkQuality:remoteQualities: | 网络质量回调 |
| rtcEngine:connectionChangedToState: | SDK 与信令服务器连接状态改变回调。连接状态改变时触发。 |
| rtcEngine:networkTypeChangedToType: | SDK 当前网络连接类型改变回调。 |
| rtcEngine:onMediaDeviceStateChanged:device_type:device_state:device_error: | 媒体设备状态回调。提示音频采集、音频播放、摄像头视频采集、屏幕视频采集四种媒体设备的状态。 |
| rtcEngine:onMediaDeviceWarning:deviceType:deviceWarning: | 媒体设备警告回调。媒体设备包括:音频采集设备、音频渲染设备、和视频采集设备。 |
| 回调 | 描述 |
|---|---|
| rtcEngine:onLocalAudioPropertiesReport: | 调用 enableAudioPropertiesReport: 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。 本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。 |
| rtcEngine:onRemoteAudioPropertiesReport:totalRemoteVolume: | 远端用户进房后,本地调用 enableAudioPropertiesReport: ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。 远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。 |
| rtcEngine:onStreamSyncInfoReceived:streamType:data: | 音频流同步信息回调。可以通过此回调,在远端用户调用 sendStreamSyncInfo:config: 发送音频流同步消息后,收到远端发送的音频流同步信息。 |
| rtcEngine:onActiveSpeaker:uid: | 调用 enableAudioPropertiesReport: 后,根据设置的 config.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。 |
| 回调 | 描述 |
|---|---|
| rtcEngineDidAudioEffectFinish:soundId: | 音效文件混音结束回调。SDK通过此回调通知应用层音效文件混音结束 |
| rtcEngine:onAudioMixingStateChanged:state:error: | 音频混音文件播放状态改变时回调 |
| rtcEngine:onAudioMixingPlayingProgress:progress: | 混音音频文件播放进度回调 |
| 回调 | 描述 |
|---|---|
| onLocalScreenFrame: | 本地屏幕流的视频帧数据回调 |
| onLocalVideoFrame: | 本地视频流的视频帧数据回调 |
| onRemoteScreenFrame:user:room: | 远端屏幕流的视频帧数据回调 |
| onRemoteVideoFrame:user:room: | 远端视频流的视频帧数据回调 |
| rtcEngine:onWarning: | 发生警告回调。 SDK 运行时出现了警告。SDK 通常会自动恢复,警告信息可以忽略。 |
| rtcEngine:onLeaveRoomWithStats: | 离开房间成功回调。 用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并释放所有通话相关的音视频资源。SDK 完成所有的资源释放后通过此回调通知用户。 |
| rtcEngine:onFirstLocalAudioFrame: | 本地采集到第一帧音频帧时,收到该回调。 |
| rtcEngine:onAudioPlaybackDeviceChanged: | 音频播放设备变化时,收到该回调。 |
| rtcEngine:onRoomMessageReceived:message: | 收到房间中调用 sendRoomMessage: 发送的广播文本消息时,收到此回调。 |
| rtcEngine:onRoomStats: | 房间内通话统计信息回调。 用户进房开始通话后,每 2s 收到一次本回调。 |
| rtcEngineLocalAudioMixingDidFinish: | 音乐文件混音结束回调。SDK通过此回调通知应用层音乐文件混音结束。 |
| rtcEngine:onPerformanceAlarmsWithMode:roomId:reason:sourceWantedData: | 本地未开启发布性能回退,检测到设备性能不足时,收到此回调。 本地开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。 |
| rtcEngine:onHttpProxyState: | HTTP 代理连接状态改变时,收到该回调。 |
| 回调 | 描述 |
|---|---|
| onFaceDetectionResult: | CV SDK 进行人脸检测结果的回调。 调用 registerFaceDetectionObserver:withInterval: 注册了 ByteRTCFaceDetectionObserver,并使用 RTC SDK 中包含的 CV SDK 进行视频特效处理时,你会收到此回调。 |
| 回调 | 描述 |
|---|---|
| processVideoFrame: | 获取 RTC SDK 采集得到的视频帧,根据 registerLocalVideoProcessor:withConfig: 设置的视频前处理器,进行视频前处理,最终将处理后的视频帧给到 RTC SDK 用于编码传输。 |
| 回调 | 描述 |
|---|---|
| onLocalEncodedVideoFrame:Frame: | 调用 registerLocalEncodedVideoFrameObserver: 后,SDK 每次使用内部采集,采集到一帧视频帧,或收到一帧外部视频帧时,都会回调该事件。 |
| onRemoteEncodedVideoFrame:withEncodedVideoFrame: | 调用 registerRemoteEncodedVideoFrameObserver: 后,SDK 监测到远端编码后视频数据时,触发该回调 |
| 回调 | 描述 |
|---|---|
| isSupportClientPushStream | 是否具有推流能力。 + false:不具备推流能力(默认值) + true:具备推流能力 |
| 回调 | 描述 |
|---|---|
| onRecordAudioFrame: | 返回麦克风录制的音频数据 |
| onPlaybackAudioFrame: | 返回订阅的所有远端用户混音后的音频数据 |
| onMixedAudioFrame: | 返回本地麦克风录制和订阅的所有远端用户混音后的音频数据 |
| 回调 | 描述 |
|---|---|
| rtcEngine:OnSimulcastSubscribeFallback: | 因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。 |
| 回调 | 描述 |
|---|---|
| ByteRTCEncryptRawData: | 自定义加密。 使用设定的自定义加密方式,对传输前的音视频帧数据进行加密。 |
| ByteRTCDecryptRawData: | 自定义解密。 对自定义加密后的音视频帧数据进行解密。关于自定义加密,参看 ByteRTCEncryptRawData:。 |
| 回调 | 描述 |
|---|---|
| rtcEngine:onRecordingStateUpdate:state:error_code:recording_info: | 获取本地录制状态回调。 该回调由 startFileRecording:withRecordingConfig: 或 stopFileRecording: 触发。 |
| rtcEngine:onRecordingProgressUpdate:process:recording_info: | 本地录制进度回调。 该回调由 startFileRecording:withRecordingConfig: 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。 |
| 回调 | 描述 |
|---|---|
| rtcEngine:onNetworkDetectionResult:quality:rtt:lostRate:bitrate:jitter: | 通话前网络探测结果 |
| rtcEngine:onNetworkDetectionStopped: | 通话前网络探测结束 以下情况将停止探测并收到本一次本回调: 1. 当调用 stopNetworkDetection 接口停止探测后,会收到一次该回调; 2. 当收到远端/本端音频首帧后,停止探测; 3. 当探测超过3分钟后,停止探测; 4. 当探测链路断开一定时间之后,停止探测。 |
| 回调 | 描述 |
|---|---|
| rtcEngine:onError: | 发生错误回调。 SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。 |
| 回调 | 描述 |
|---|---|
| rtcEngine:onUserStartAudioCapture: | 房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。 |
| rtcEngine:onUserStopAudioCapture: | 房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。 |
| rtcEngine:onFirstRemoteAudioFrame: | 当收到远端流的第一帧音频的时候上报该事件 |
| rtcEngine:onAudioStreamBanned:isBanned: | 通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。 |
| rtcEngine:onLocalAudioStateChanged:error: | 本地音频流的状态发生改变时,收到此回调。 |
| rtcEngine:onRemoteAudioStateChanged:state:reason: | 订阅的远端音频流状态发生改变时,收到此回调。 |
| rtcRoom:onAudioStreamBanned:isBanned: | 通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。 |
| 回调 | 描述 |
|---|---|
| rtcEngine:reportSysStats: | 报告当前设备 cpu 与 memory 使用率,每 2s 触发一次。 |
| rtcEngine:onLocalStreamStats: | 本地流数据统计以及网络质量回调。 本地用户发布流成功后,SDK 会周期性(2s)的通过此回调事件通知用户发布的流在此次统计周期内的质量统计信息。 统计信息通过 ByteRTCLocalStreamStats 类型的回调参数传递给用户,其中包括发送音视频比特率、发送帧率、编码帧率,网络质量等。 |
| rtcEngine:onRemoteStreamStats: | 本地订阅的远端音/视频流数据统计以及网络质量回调。 本地用户订阅流成功后,SDK 会周期性(2s)的通过此回调事件通知用户订阅的流在此次统计周期内的质量统计信息,包括:发送音视频比特率、发送帧率、编码帧率,网络质量等。 |
| 回调 | 描述 |
|---|---|
| rtcEngine:onHttpsProxyState: | HTTPS 代理连接状态改变时,收到该回调。 |
| rtcEngine:onSocks5ProxyState:cmd:proxy_address:local_address:remote_address: | SOCKS5 代理状态改变时,收到该回调。 |
| 回调 | 描述 |
|---|---|
| onMonitorLog:withType: | 埋点日志回调 |
| isConsole | 是否进行控制台输出 |
| onVerboseLogWithLevel:filename:tag:line:functionName:format: | 输出更多的调试信息 |