You need to enable JavaScript to run this app.
导航

概览

最近更新时间2024.03.18 15:24:36

首次发布时间2021.07.18 14:07:15

方法

引擎管理

方法描述
createRTCVideo:delegate:parameters:创建引擎对象。
如果当前进程中未创建引擎实例,那么你必须先使用此方法,以使用 RTC 提供的各种音视频能力。
如果当前进程中已创建了引擎实例,再次调用此方法时,会返回已创建的引擎实例。
destroyRTCVideo销毁由 createRTCVideo:delegate:parameters: 所创建的引擎实例,并释放所有相关资源。
getSDKVersion获取 SDK 当前的版本号。
feedback:info:通话结束,将用户反馈的问题上报到 RTC。
getErrorDescription:获取 SDK 内各种错误码、警告码的描述文字。
setBusinessId:设置业务标识参数

可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。
setRuntimeParameters:设置运行时的参数
setLogConfig:配置 SDK 本地日志参数,包括日志级别、存储路径、日志文件最大占用的总空间、日志文件名前缀。

房间管理

方法描述
createRTCRoom:创建房间实例。

调用此方法仅返回一个房间实例,你仍需调用 joinRoom:userInfo:roomConfig: 才能真正地创建/加入房间。

多次调用此方法以创建多个 ByteRTCRoom 实例。分别调用各 ByteRTCRoom 实例中的 joinRoom:userInfo:roomConfig: 方法,同时加入多个房间。

多房间模式下,用户可以同时订阅各房间的音视频流。
destroy退出并销毁调用 createRTCRoom: 所创建的房间实例。
setRTCRoomDelegate:通过设置 ByteRTCRoom 对象的事件句柄,监听此对象对应的回调事件。
joinRoom:userInfo:roomConfig:加入房间。

调用 createRTCRoom: 创建房间后,调用此方法加入房间,同房间内其他用户进行音视频通话。
setRoomExtraInfo:value:设置/更新房间附加信息,可用于标识房间状态或属性,或灵活实现各种业务逻辑。
leaveRoom离开房间。

用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。
setUserVisibility:设置用户可见性。未调用该接口前,本地用户默认对他人可见。
默认情况下,一个 RTC 房间最多同时容纳 50 名可见用户,最多 30 人可同时上麦。更多信息参看用户和媒体流上限
updateToken:更新 Token。
收到 onTokenWillExpire:onPublishPrivilegeTokenWillExpire:,或 onSubscribePrivilegeTokenWillExpire: 时,你必须重新获取 Token,并调用此方法更新 Token,以保证通话的正常进行。

音频管理

方法描述
setDefaultAudioRoute:将默认的音频播放设备设置为听筒或扬声器。
getAudioRoute获取当前使用的音频播放路由。
setBluetoothMode:在纯媒体音频场景下,切换 iOS 设备与耳机之间的蓝牙传输协议。
setCaptureVolume:volume:调节音频采集音量
setPlaybackVolume:调节本地播放的所有远端用户音频混音后的音量,混音内容包括远端人声、音乐、音效等。

播放音频前或播放音频时,你都可以使用此接口设定播放音量。
setRemoteAudioPlaybackVolume:remoteUid:playVolume:调节来自指定远端用户的音频播放音量。
setRemoteRoomAudioPlaybackVolume:调节某个房间内所有远端用户的音频播放音量。
enableAudioPropertiesReport:启用音频信息提示。启用后,你可以收到 rtcEngine:onLocalAudioPropertiesReport:rtcEngine:onRemoteAudioPropertiesReport:totalRemoteVolume:,和 rtcEngine:onActiveSpeaker:uid:
startAudioCapture开启内部音频采集。默认为关闭状态。

内部采集是指:使用 RTC SDK 内置的音频采集机制进行音频采集。
调用该方法开启后,本地用户会收到 rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error: 的回调。

可见用户进房后调用该方法,房间中的其他用户会收到 rtcEngine:onUserStartAudioCapture:uid: 的回调。
stopAudioCapture关闭内部音频采集。默认为关闭状态。

内部采集是指:使用 RTC SDK 内置的音频采集机制进行音频采集。
调用该方法,本地用户会收到 rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error: 的回调。

可见用户进房后调用该方法,房间中的其他用户会收到 rtcEngine:onUserStopAudioCapture:uid: 的回调。
setAudioScenario:设置音频场景类型。
你可以根据你的应用所在场景,选择合适的音频场景类型。
选择音频场景后,SDK 会自动根据客户端音频采集播放设备和状态,适用通话音量/媒体音量,并同步变更对应音频相关的算法配置和采集配置。
setAudioProfile:设置音质档位。

当所选的 ByteRTCRoomProfile 中的音频参数无法满足你的场景需求时,调用本接口切换的音质档位。
enableExternalSoundCard:启用匹配外置声卡的音频处理模式
startHardwareEchoDetection:开启通话前回声检测
stopHardwareEchoDetection停止通话前回声检测

视频管理

方法描述
startVideoCapture立即开启内部视频采集。默认为关闭状态。

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

调用该方法后,本地用户会收到 rtcEngine:onVideoDeviceStateChanged:device_type:device_state:device_error: 的回调。

可见用户进房后调用该方法,房间中的其他用户会收到 rtcEngine:onUserStartVideoCapture:uid: 的回调。
stopVideoCapture立即关闭内部视频采集。默认为关闭状态。

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

调用该方法后,本地用户会收到 rtcEngine:onVideoDeviceStateChanged:device_type:device_state:device_error: 的回调。

可见用户进房后调用该方法,房间中的其他用户会收到 rtcEngine:onUserStopVideoCapture:uid: 的回调。
setVideoCaptureConfig:设置 RTC SDK 内部采集时的视频采集参数。

如果你的项目使用了 SDK 内部采集模块,可以通过本接口指定视频采集参数包括模式、分辨率、帧率。
setVideoRotationMode:设置采集视频的旋转模式。默认以 App 方向为旋转参考系。

接收端渲染视频时,将按照和发送端相同的方式进行旋转。
setLocalVideoCanvas:withCanvas:设置本地视频渲染时使用的视图,并设置渲染模式。
updateLocalVideoCanvas:withRenderMode:withBackgroundColor:修改本地视频渲染模式和背景色。
setRemoteVideoCanvas:withCanvas:渲染来自指定远端用户 uid 的视频流时,设置使用的视图和渲染模式。

如果需要解除视频的绑定视图,把 canvas.view 设置为空。(canvas 中其他参数不能为空。)
updateRemoteStreamVideoCanvas:withRemoteVideoRenderConfig:使用 SDK 内部渲染时,修改远端视频帧的渲染设置,包括渲染模式、背景颜色和旋转角度。
switchCamera:切换视频内部采集时使用的前置/后置摄像头

调用此接口后,在本地会触发 rtcEngine:onVideoDeviceStateChanged:device_type:device_state:device_error: 回调。
isCameraZoomSupported检测当前使用的摄像头(前置/后置),是否支持变焦(数码/光学变焦)。
getCameraZoomMaxRatio获取当前使用的摄像头(前置/后置)的最大变焦倍数
setCameraZoomRatio:设置当前使用的摄像头(前置/后置)的变焦倍数
isCameraTorchSupported检测当前使用的摄像头(前置/后置),是否支持闪光灯。
setCameraTorch:打开/关闭当前使用的摄像头(前置/后置)的闪光灯
isCameraFocusPositionSupported检查当前使用的摄像头是否支持手动对焦。
setCameraFocusPosition:设置当前使用的摄像头的对焦点。
isCameraExposurePositionSupported检查当前使用的摄像头是否支持手动设置曝光点。
setCameraExposurePosition:设置当前使用的摄像头的曝光点。
setCameraExposureCompensation:设置当前使用的摄像头的曝光补偿。
setVideoEncoderConfig:视频发布端设置推送多路流时各路流的参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。
setMaxVideoEncoderConfig:视频发布端设置期望发布的最大分辨率视频流参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。

该接口支持设置一路视频流参数,设置多路参数请使用 setVideoEncoderConfig:

音视频传输

方法描述
publishStream:在当前所在房间内发布本地通过摄像头/麦克风采集的媒体流
unpublishStream:停止将本地摄像头/麦克风采集的媒体流发布到当前所在房间中
setDummyCaptureImagePath:摄像头处于关闭状态时,使用静态图片填充本地推送的视频流。
调用 stopVideoCapture 接口时,会开始推静态图片。若要停止发送图片,可传入空字符串或启用内部摄像头采集。
可重复调用该接口来更新图片。
subscribeStream:mediaStreamType:订阅房间内指定的通过摄像头/麦克风采集的媒体流,或更新对指定远端用户的订阅选项
unsubscribeStream:mediaStreamType:取消订阅房间内指定的通过摄像头/麦克风采集的媒体流。

该方法对自动订阅和手动订阅模式均适用。
subscribeAllStreamsWithMediaStreamType:订阅房间内所有通过摄像头/麦克风采集的媒体流,或更新订阅选项。
unsubscribeAllStreamsWithMediaStreamType:取消订阅房间内所有的通过摄像头/麦克风采集的媒体流。

自动订阅和手动订阅的流都可以通过本方法取消订阅。
pauseAllSubscribedStream:暂停接收来自远端的媒体流
resumeAllSubscribedStream:恢复接收来自远端的媒体流
requestRemoteVideoKeyFrame:在订阅远端视频流之后,向远端请求关键帧
startForwardStreamToRooms:开始跨房间转发媒体流。
在调用 joinRoom:userInfo:roomConfig: 后调用本接口,实现向多个房间转发媒体流,适用于跨房间连麦等场景。
updateForwardStreamToRooms:更新跨房间媒体流转发信息。

通过 startForwardStreamToRooms: 发起媒体流转发后,可调用本方法增加或者减少目标房间,或更新房间密钥。
调用本方法增加或删减房间后,将在本端触发 rtcRoom:onForwardStreamStateChanged: 回调,包含发生了变动的目标房间中媒体流转发状态。
stopForwardStreamToRooms停止跨房间媒体流转发。
通过 startForwardStreamToRooms: 发起媒体流转发后,可调用本方法停止向所有目标房间转发媒体流。
pauseForwardStreamToAllRooms暂停跨房间媒体流转发。
通过 startForwardStreamToRooms: 发起媒体流转发后,可调用本方法暂停向所有目标房间转发媒体流。
调用本方法暂停向所有目标房间转发后,你可以随时调用 resumeForwardStreamToAllRooms 快速恢复转发。
resumeForwardStreamToAllRooms恢复跨房间媒体流转发。
调用 pauseForwardStreamToAllRooms 暂停转发之后,调用本方法恢复向所有目标房间转发媒体流。
setMultiDeviceAVSync:设置发流端音画同步。

当同一用户同时使用两个通话设备分别采集发送音频和视频时,有可能会因两个设备所处的网络环境不一致而导致发布的流不同步,此时你可以在视频发送端调用该接口,SDK 会根据音频流的时间戳自动校准视频流,以保证接收端听到音频和看到视频在时间上的同步性。
startPushPublicStream:withLayout:发布一路公共流

用户可以指定房间内多个用户发布的媒体流合成一路公共流。使用同一 appID 的用户,可以调用 startPlayPublicStream: 获取和播放指定的公共流。
stopPushPublicStream:停止发布当前用户发布的公共流

关于发布公共流,查看 startPushPublicStream:withLayout:
updatePublicStreamParam:withLayout:更新公共流参数

关于发布公共流,查看 startPushPublicStream:withLayout:
建议调用更新公共流前判断公共流是否已经成功启动,相关回调详见 rtcEngine:onPushPublicStreamResult:publicStreamId:errorCode:
startPlayPublicStream:订阅指定公共流

无论用户是否在房间内,都可以调用本接口获取和播放指定的公共流。
stopPlayPublicStream:取消订阅指定公共流

关于订阅公共流,查看 startPlayPublicStream:
setPublicStreamVideoCanvas:withCanvas:为指定公共流绑定内部渲染视图。
setPublicStreamVideoSink:withSink:withPixelFormat:为指定公共流绑定自定义渲染器。详见自定义视频渲染
setPublicStreamAudioPlaybackVolume:volume:调节公共流的音频播放音量。

视频处理

方法描述
setLocalVideoMirrorType:为采集到的视频流开启镜像
setRemoteVideoMirrorType:withMirrorType:使用内部渲染时,为远端流开启镜像。
setVideoOrientation:在自定义视频前处理及编码前,设置 RTC 链路中的视频帧朝向,默认为 Adaptive 模式。
移动端开启视频特效贴纸,或使用自定义视频前处理时,建议固定视频帧朝向为 Portrait 模式。单流转推场景下,建议根据业务需要固定视频帧朝向为 Portrait 或 Landscape 模式。不同模式的具体显示效果参看视频帧朝向
setVideoWatermark:withImagePath:withRtcWatermarkConfig:在指定视频流上添加水印。
clearVideoWatermark:移除指定视频流的水印。
enableEffectBeauty:开启/关闭基础美颜。
setBeautyIntensity:withIntensity:调整基础美颜强度。
getVideoEffectInterface获取视频特效接口。
initCVResource:withAlgoModelDir:检查视频特效证书,设置算法模型路径,并初始化特效模块。
enableVideoEffect开启高级美颜、滤镜等视频特效。
disableVideoEffect关闭视频特效。
setEffectNodes:设置视频特效素材包。
updateEffectNode:key:value:设置特效强度。
setColorFilter:设置颜色滤镜。
setColorFilterIntensity:设置已启用颜色滤镜的强度。
enableVirtualBackground:withSource:将摄像头采集画面中的人像背景替换为指定图片或纯色背景。
disableVirtualBackground关闭虚拟背景。
enableFaceDetection:withInterval:withModelPath:开启人脸识别功能,并设置人脸检测结果回调观察者。
此观察者后,你会周期性收到 onFaceDetectResult: 回调。
disableFaceDetection关闭人脸识别功能。
setVideoDigitalZoomConfig:size:设置本地摄像头数码变焦参数,包括缩放倍数,移动步长。
setVideoDigitalZoomControl:控制本地摄像头数码变焦,缩放或移动一次。设置对本地预览画面和发布到远端的视频都生效。
startVideoDigitalZoomControl:开启本地摄像头持续数码变焦,缩放或移动。设置对本地预览画面和发布到远端的视频都生效。
stopVideoDigitalZoomControl停止本地摄像头持续数码变焦。

音频处理

方法描述
setVoiceChangerType:设置变声特效类型
setVoiceReverbType:设置混响特效类型
setLocalVoicePitch:开启本地语音变调功能,多用于 K 歌场景。

使用该方法,你可以对本地语音的音调进行升调或降调等调整。
setLocalVoiceEqualization:设置本地采集语音的均衡效果。包含内部采集和外部采集,但不包含混音音频文件。
setLocalVoiceReverbParam:设置本地采集音频的混响效果。包含内部采集和外部采集,但不包含混音音频文件。
enableLocalVoiceReverb:开启本地音效混响效果

自定义流处理

方法描述
setVideoSourceType:WithStreamIndex:设置向 SDK 输入的视频源,包括屏幕流
默认使用内部采集。内部采集指:使用 RTC SDK 内置的视频采集机制进行视频采集。
pushExternalVideoFrame:推送外部视频帧。
setLocalVideoRender:withSink:withLocalRenderConfig:将本地视频流与自定义渲染器绑定。你可以通过参数设置返回指定位置和格式的视频帧数据。
setRemoteVideoRender:withSink:withRemoteRenderConfig:将远端视频流与自定义渲染器绑定。你可以通过参数设置返回指定位置和格式的视频帧数据。
registerRemoteEncodedVideoFrameObserver:注册远端编码后视频数据回调。

完成注册后,当 SDK 监测到远端编码后视频帧时,会触发 onRemoteEncodedVideoFrame:withEncodedVideoFrame: 回调
setVideoDecoderConfig:withVideoDecoderConfig:在订阅远端视频流之前,设置远端视频数据解码方式
setAudioSourceType:切换音频采集方式
setAudioRenderType:切换音频渲染方式
pushExternalAudioFrame:推送自定义采集的音频数据到 RTC SDK。
pullExternalAudioFrame:拉取下行音频数据用于自定义音频渲染。
调用该方法后,SDK 会主动拉取待播放的音频数据,包括远端已解码和混音后的音频数据,用于外部播放。
registerLocalVideoProcessor:withConfig:设置自定义视频前处理器。

使用这个视频前处理器,你能够调用 processVideoFrame: 对 RTC SDK 采集得到的视频帧进行前处理,并将处理后的视频帧用于 RTC 音视频通信。
registerAudioProcessor:注册自定义音频处理器。

注册完成后,你可以调用 enableAudioProcessor:audioFormat:,对本地采集到的音频进行处理,RTC SDK 将对处理后的音频进行编码和发送。也可以对接收到的远端音频进行自定义处理,RTC SDK 将对处理后的音频进行渲染。
enableAudioProcessor:audioFormat:设置并开启指定的音频帧回调,进行自定义处理。
disableAudioProcessor:关闭自定义音频处理。
registerAudioFrameObserver:注册音频数据回调观察者。
enableAudioFrameCallback:format:设置并开启指定的音频数据帧回调
disableAudioFrameCallback:关闭音频回调
registerLocalEncodedVideoFrameObserver:注册本地视频帧监测器。

无论使用内部采集还是自定义采集,调用该方法后,SDK 每监测到一帧本地视频帧时,都会将视频帧信息通过 onLocalEncodedVideoFrame:Frame: 回调给用户
setExternalVideoEncoderEventHandler:注册自定义编码帧推送事件回调
pushExternalEncodedVideoFrame:withVideoIndex:withEncodedVideoFrame:推送自定义编码后的视频流

网络管理

方法描述
enableSimulcastMode:该方法设置视频流发布端是否开启发布多路编码参数不同的视频流的模式。
setRemoteVideoConfig:remoteVideoConfig:设置期望订阅的远端视频流的参数。
setPublishFallbackOption:设置发布的音视频流的回退选项。

你可以调用该接口设置网络不佳或设备性能不足时从大流起进行降级处理,以保证通话质量。
setSubscribeFallbackOption:设置订阅的音视频流的回退选项。

你可调用该接口设置网络不佳或设备性能不足时允许订阅流进行降级或只订阅音频流,以保证通话流畅。
setRemoteUserPriority:InRoomId:uid:设置用户优先级。
startNetworkDetection:uplinkBandwidth:downlink:downlinkBandwidth:开始通话前网络探测
stopNetworkDetection停止通话前网络探测
startEchoTest:playDelay:开启音视频回路测试。

在进房前,用户可调用该接口对音视频通话全链路进行检测,包括对音视频设备以及用户上下行网络的检测,从而帮助用户判断是否可以正常发布和接收音视频流。

开始检测后,SDK 会录制你声音或视频。如果你在设置的延时范围内收到了回放,则视为音视频回路测试正常。
stopEchoTest停止音视频回路测试。

调用 startEchoTest:playDelay: 开启音视频回路检测后,你必须调用该方法停止检测。
getNetworkTimeInfo通过 NTP 协议,获取网络时间。

消息

方法描述
sendRoomMessage:给房间内的所有其他用户群发文本消息。
sendRoomBinaryMessage:给房间内的所有其他用户群发二进制消息。
sendUserMessage:message:config:给房间内指定的用户发送点对点文本消息(P2P)。
sendUserBinaryMessage:message:config:给房间内指定的用户发送点对点二进制消息(P2P)。
login:uid:登录 RTS 服务器。
必须先登录,才能调用 sendUserMessageOutsideRoom:message:config:sendServerMessage: 发送房间外点对点消息和向应用服务器发送消息

在调用本接口登录后,如果想要登出,需要调用 logout
logout登出 RTS 服务器。
调用本接口登出后,无法调用房间外消息以及端到服务器消息相关的方法或收到相关回调。
updateLoginToken:更新用户用于登录的 Token

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

调用 login:uid: 方法登录时,如果使用了过期的 Token 将导致登录失败,并会收到 rtcEngine:onLoginResult:errorCode:elapsed: 回调通知,错误码为 ByteRTCLoginErrorCodeInvalidToken。此时需要重新获取 Token,并调用此方法更新 Token。
setServerParams:url:设置应用服务器参数

客户端调用 sendServerMessage:sendServerBinaryMessage: 发送消息给应用服务器之前,必须需要设置有效签名和应用服务器地址。
getPeerOnlineStatus:查询对端用户或本端用户的登录状态
sendUserMessageOutsideRoom:message:config:给房间外指定的用户发送文本消息(P2P)
sendUserBinaryMessageOutsideRoom:message:config:给房间外指定的用户发送二进制消息(P2P)
sendServerMessage:客户端给应用服务器发送文本消息(P2Server)
sendServerBinaryMessage:客户端给应用服务器发送二进制消息(P2Server)
sendStreamSyncInfo:config:发送音频流同步信息。将消息通过音频流发送到远端,并实现与音频流同步,该接口调用成功后,远端用户会收到 rtcEngine:onStreamSyncInfoReceived:streamType:data: 回调。
sendSEIMessage:andMessage:andRepeatCount:andCountPerFrame:通过视频帧发送 SEI 数据。
在视频通话场景下,SEI 数据会随视频帧发送;在语音通话场景下,SDK 会自动生成一路 16px × 16px 的黑帧视频流用来发送 SEI 数据。

CDN 推流

方法描述
startPushMixedStreamToCDN:mixedConfig:observer:新增合流转推直播任务,并设置合流的图片、视频视图布局和音频属性。

同一个任务中转推多路直播流时,SDK 会先将多路流合成一路流,然后再进行转推。
updatePushMixedStreamToCDN:mixedConfig:更新合流转推直播参数,会收到 onMixingEvent:taskId:error:mixType: 回调。

开启转推直播功能后,你可以使用此方法更新合流转推功能配置参数。
startPushSingleStreamToCDN:singleStream:observer:新增单流转推直播任务。
stopPushStreamToCDN:停止转推直播。

该方法可用于停止单流转推直播或停止合流转推直播,通过 taskId 区分需要停止的任务。

混音

方法描述
getAudioEffectPlayer创建音效播放器实例。
start:filePath:config:开始播放音效文件。

可以通过传入不同的 ID 和 filepath 多次调用本方法,以实现同时播放多个音效文件,实现音效叠加。
preload:filePath:预加载指定音乐文件到内存中,以避免频繁播放同一文件时的重复加载,减少 CPU 占用。
setPosition:position:设置音效文件的起始播放位置。
setVolume:volume:调节指定音效的音量大小,包括音效文件和 PCM 音频。
open:config:打开音乐文件。
一个播放器实例仅能够同时打开一个音乐文件。如果需要同时打开多个音乐文件,请创建多个音乐播放器实例。
要播放 PCM 格式的音频数据,参看 openWithCustomSource:config:openWithCustomSource 和此 API 互斥。
openWithCustomSource:config:启动音频裸数据混音。
要播放音乐文件,参看 open:config:open 与此 API 互斥。
setVolume:type:调节指定混音的音量大小,包括音乐文件混音和 PCM 混音。

屏幕分享

方法描述
setExtensionConfig:设置 Extension 配置项。你必须在使用屏幕内部采集功能前,设置使用的 Extension。
startScreenCapture:bundleId:使用 RTC SDK 内部采集模块开始采集屏幕音频流和(或)视频流。
updateScreenCapture:更新内部屏幕采集时采集的媒体类型。
stopScreenCapture在屏幕共享时,停止使用 RTC SDK 内部采集方式采集屏幕音视频。
publishScreen:在当前所在房间内发布本地屏幕共享音视频流
unpublishScreen:停止将本地屏幕共享音视频流发布到当前所在房间中
setScreenAudioSourceType:在屏幕共享时,设置屏幕音频的采集方式(内部采集/自定义采集)
setScreenAudioStreamIndex:在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式
setScreenVideoEncoderConfig:为发布的屏幕共享视频流设置期望的编码参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。
pushScreenAudioFrame:使用自定义采集方式,采集屏幕共享时的屏幕音频时,将音频帧推送至 RTC SDK 处进行编码等处理。
pushScreenVideoFrame:time:rotation:推送外部屏幕采集帧
subscribeScreen:mediaStreamType:订阅房间内指定的远端屏幕共享音视频流,或更新对指定远端用户的订阅选项
unsubscribeScreen:mediaStreamType:取消订阅房间内指定的远端屏幕共享音视频流。

该方法对自动订阅和手动订阅模式均适用。
sendScreenCaptureExtensionMessage:向屏幕共享 Extension 发送自定义消息

安全与加密

方法描述
startCloudProxy:开启云代理
setCustomizeEncryptHandler:设置自定义加密和解密方式。
setEncryptInfo:key:设置传输时使用内置加密的方式。
setLocalProxy:设置本地代理。

高级功能

方法描述
startFileRecording:withRecordingConfig:type:该方法将通话过程中的音视频数据录制到本地的文件中。
stopFileRecording:停止本地录制
startAudioRecording:开启录制语音通话,生成本地文件。

在进房前后开启录制,如果未打开麦克风采集,录制任务正常进行,只是不会将数据写入生成的本地文件;只有调用 startAudioCapture 接口打开麦克风采集后,才会将录制数据写入本地文件。
stopAudioRecording停止音频文件录制
setEarMonitorMode:开启/关闭耳返功能。
setEarMonitorVolume:设置耳返的音量。
getSpatialAudio获取空间音频接口实例。
disableRemoteOrientation关闭本地用户朝向对本地用户发声效果的影响。

调用此接口后,房间内的其他用户收听本地发声时,声源都在收听者正面。
getRangeAudio获取范围语音接口实例。
startASR:handler:开启自动语音识别服务。

该方法将识别后的用户语音转化成文字,并通过 onMessage: 事件回调给用户。
stopASR关闭语音识别服务
takeLocalSnapshot:callback:截取本地视频画面
takeRemoteSnapshot:callback:截取远端视频画面
setAnsMode:支持根据业务场景,设置通话中的音频降噪模式。
updateSelfPosition:设置本地用户在自建空间直角坐标系中的收听坐标和收听朝向,以实现本地用户预期的空间音频收听效果。
updateRemotePosition:positionInfo:设置房间内某一远端用户在本地用户自建的空间音频坐标系中的发声位置和发声朝向,以实现本地用户预期的空间音频收听效果。
removeRemotePosition:移除调用 updateRemotePosition:positionInfo: 为某一远端用户设置的空间音频效果。
removeAllRemotePosition移除调用 updateRemotePosition:positionInfo: 为所有远端用户设置的空间音频效果。

字幕翻译服务

方法描述
startSubtitle:识别或翻译房间内所有用户的语音,形成字幕。

调用该方法时,可以在 ByteRTCSubtitleMode 中选择语音识别或翻译模式。如果选择识别模式,语音识别文本会通过 rtcRoom:onSubtitleMessageReceived: 事件回调给你;

如果选择翻译模式,你会同时收到两个 rtcRoom:onSubtitleMessageReceived: 回调,分别包含字幕原文及字幕译文。

调用该方法后,用户会收到 rtcRoom:onSubtitleStateChanged:errorCode:errorMessage: 回调,通知字幕是否开启。
stopSubtitle关闭字幕。

调用该方法后,用户会收到 rtcRoom:onSubtitleStateChanged:errorCode:errorMessage: 回调,通知字幕是否关闭。

在线 KTV

方法描述
getKTVManager创建 KTV 管理接口。
getMusicList:pageSize:filterType:获取歌曲列表。
searchMusic:pageNumber:pageSize:filterType:根据关键词搜索歌曲。
getHotMusic:filterType:根据热榜获取每个榜单的歌曲列表。
getMusicDetail:获取音乐详细信息。
downloadMusic:下载音乐。
downloadLyric:lyricType:下载歌词。
downloadMidi:下载 MIDI 文件。
cancelDownload:取消下载任务。
clearCache清除当前音乐缓存文件,包括音乐音频和歌词。
setMaxCacheSize:设置歌曲文件最大占用的本地缓存。
getKTVPlayer获取 KTV 播放器。
playMusic:audioTrackType:audioPlayType:播放歌曲。
pauseMusic:暂停播放歌曲。
resumeMusic:继续播放歌曲。
stopMusic:停止播放歌曲。
seekMusic:position:设置音乐文件的起始播放位置。
setMusicVolume:volume:设置歌曲播放音量,只能在开始播放后进行设置。
switchAudioTrackType:切换歌曲原唱伴唱。
setMusicPitch:pitch:对播放中的音乐设置升降调信息。
getSingScoringManager创建 K 歌评分管理接口。
initSingScoring:singScoringToken:delegate:初始化 K 歌评分。
setSingScoringConfig:设置 K 歌评分参数。
getStandardPitchInfo:获取标准音高数据。
startSingScoring:scoringInfoInterval:开始 K 歌评分。
stopSingScoring停止 K 歌评分。
getLastSentenceScore获取上一句的演唱评分。调用 startSingScoring:scoringInfoInterval: 开始评分后可以调用该接口。
getTotalScore获取当前演唱总分。调用 startSingScoring:scoringInfoInterval: 开始评分后可以调用该接口。
getAverageScore获取当前演唱歌曲的平均分。
setAudioAlignmentProperty:withMode:在听众端,设置订阅的所有远端音频流精准对齐后播放。
回调

引擎管理

回调描述
rtcEngine:onWarning:发生警告回调。

SDK 运行时出现了警告。SDK 通常会自动恢复,警告信息可以忽略。
rtcEngine:onError:发生错误回调。

SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。

你可能需要干预.
onTokenWillExpire:Token 进房权限过期前 30 秒将触发该回调。

收到该回调后,你需调用 updateToken: 更新 Token 进房权限。
onPublishPrivilegeTokenWillExpire:Token 发布权限过期前 30 秒将触发该回调。

收到该回调后,你需调用 updateToken: 更新 Token 发布权限。
onSubscribePrivilegeTokenWillExpire:Token 订阅权限过期前 30 秒将触发该回调。

收到该回调后,你需调用 updateToken: 更新 Token 订阅权限有效期。

房间管理

回调描述
rtcRoom:onRoomStateChanged:withUid:state:extraInfo:房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。
rtcEngine:onCreateRoomStateChanged:errorCode:创建房间失败回调。
rtcRoom:onLeaveRoom:离开房间成功回调。

用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并释放所有通话相关的音视频资源。SDK 完成所有的资源释放后通过此回调通知用户。
rtcRoom:onUserJoined:elapsed:远端可见用户加入房间,或房内不可见用户切换为可见的回调。

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

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

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

4. 新进房用户会收到进房前已在房内的可见用户的进房回调通知。
rtcRoom:onUserLeave:reason:远端用户离开房间,或切至不可见时,本地用户会收到此事件
rtcRoom:onUserVisibilityChanged:errorCode:用户调用 setUserVisibility: 设置用户可见性的回调。
rtcRoom:onRoomStats:房间内通话统计信息回调。

用户进房开始通话后,每 2s 收到一次本回调。
rtcRoom:onSetRoomExtraInfoResult:error:调用 setRoomExtraInfo:value: 结果回调。
rtcRoom:onRoomExtraInfoUpdate:value:lastUpdateUserId:lastUpdateTimeMs:接收到房间附加信息的回调。

房间内其他用户调用 setRoomExtraInfo:value: 设置房间附加信息,收到此回调。

另外用户加入房间成功后会收到这个房间全量附加信息

音频管理

回调描述
rtcEngine:onAudioDeviceWarning:deviceType:deviceWarning:音频设备警告回调。音频设备包括音频采集设备和音频渲染设备。
rtcEngine:onAudioRouteChanged:音频播放路由变化时,收到该回调。
rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error:音频设备状态回调。提示音频采集、音频播放等设备的状态。
rtcEngine:onLocalAudioPropertiesReport:调用 enableAudioPropertiesReport: 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。

本地音频包括使用 RTC SDK 内部机制采集的麦克风音频,屏幕音频和本地混音音频信息。
rtcEngine:onRemoteAudioPropertiesReport:totalRemoteVolume:远端用户进房后,本地调用 enableAudioPropertiesReport: ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。

远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。
rtcEngine:onActiveSpeaker:uid:调用 enableAudioPropertiesReport:  后,根据设置的 config.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。
rtcEngine:onUserStartAudioCapture:uid:房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
rtcEngine:onUserStopAudioCapture:uid:房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
rtcEngine:onStreamSyncInfoReceived:streamType:data:音频流同步信息回调。可以通过此回调,在远端用户调用 sendStreamSyncInfo:config: 发送音频流同步消息后,收到远端发送的音频流同步信息。
rtcRoom:onAudioStreamBanned:isBanned:通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户音频流的发送时,触发此回调。
rtcEngine:onHardwareEchoDetectionResult:通话前回声检测结果回调。
rtcEngine:onLocalAudioStateChanged:error:本地音频流的状态发生改变时,收到此回调。

视频管理

回调描述
rtcEngine:onUserStartVideoCapture:uid:房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间中其他用户会收到此回调。
rtcEngine:onUserStopVideoCapture:uid:房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。

若发布视频数据前未开启采集,房间内所有可见用户会收到此回调。
rtcEngine:onVideoDeviceStateChanged:device_type:device_state:device_error:视频设备状态发生改变回调。当设备的视频状态发生改变时,SDK 会触发该回调,提示摄像头视频采集、屏幕视频采集等设备的状态。
rtcEngine:onVideoDeviceWarning:deviceType:deviceWarning:视频设备警告回调。视频设备包括视频采集设备。
onFaceDetectResult:特效 SDK 进行人脸检测结果的回调。

调用 enableFaceDetection:withInterval:withModelPath: 注册了 ByteRTCFaceDetectionObserver ,并使用 RTC SDK 中包含的特效 SDK 进行视频特效处理时,你会收到此回调。
rtcEngine:onLocalVideoStateChanged:withStreamState:withStreamError:本地视频流的状态发生改变时,收到该事件。

音视频传输

回调描述
rtcRoom:onStreamStateChanged:withUid:state:extraInfo:流状态改变回调,发生流相关的警告或错误时会收到此回调。
rtcRoom:onAVSyncStateChange:发布端调用 setMultiDeviceAVSync: 后音视频同步状态发生改变时,会收到此回调。
rtcEngine:onAudioFrameSendStateChanged:rtcUser:state:本地音频首帧发送状态发生改变时,收到此回调。
rtcEngine:onVideoFrameSendStateChanged:rtcUser:state:本地视频首帧发送状态发生改变时,收到此回调。
rtcEngine:onAudioFramePlayStateChanged:rtcUser:state:音频首帧播放状态发生改变时,收到此回调。
rtcEngine:onVideoFramePlayStateChanged:rtcUser:state:视频首帧播放状态发生改变时,收到此回调。
rtcRoom:onUserPublishStream:type:房间内新增远端摄像头/麦克风采集的媒体流的回调。
rtcRoom:onUserUnpublishStream:type:reason:房间内远端摄像头/麦克风采集的媒体流移除的回调。
rtcRoom:onForwardStreamStateChanged:跨房间媒体流转发状态和错误回调
rtcRoom:onForwardStreamEvent:跨房间媒体流转发事件回调
rtcEngine:onSysStats:报告当前设备 cpu 与 memory 使用率,每 2s 触发一次。
rtcRoom:onLocalStreamStats:本地流数据统计以及网络质量回调。

本地用户发布流成功后,SDK 会周期性(2s)的通过此回调事件通知用户发布的流在此次统计周期内的质量统计信息。

统计信息通过 ByteRTCLocalStreamStats 类型的回调参数传递给用户,其中包括发送音视频比特率、发送帧率、编码帧率,网络质量等。
rtcRoom:onRemoteStreamStats:本地订阅的远端音/视频流数据统计以及网络质量回调。

本地用户订阅流成功后,SDK 会周期性(2s)的通过此回调事件通知用户订阅的流在此次统计周期内的质量统计信息,包括:发送音视频比特率、发送帧率、编码帧率,网络质量等。
rtcRoom:onNetworkQuality:remoteQualities:加入房间并发布或订阅流后, 以每 2 秒一次的频率,报告本地用户和已订阅的远端用户的上下行网络质量信息。
rtcRoom:onStreamSubscribed:userId:subscribeConfig:关于订阅媒体流状态改变的回调
rtcEngine:onRemoteAudioStateChanged:state:reason:订阅的远端音频流状态发生改变时,收到此回调。
rtcEngine:onFirstLocalAudioFrame:发布音频流时,采集到第一帧音频帧,收到该回调。
rtcEngine:onFirstRemoteAudioFrame:当收到远端流的第一帧音频的时候上报该事件
rtcEngine:onRemoteVideoStateChanged:withVideoState:withVideoStateReason:远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
rtcEngine:onFirstLocalVideoFrameCaptured:withFrameInfo:第一帧本地采集的视频/屏幕共享画面在本地视图渲染完成时,收到此回调。
rtcEngine:onFirstRemoteVideoFrameRendered:withFrameInfo:SDK 内部渲染成功远端视频流首帧后,收到此回调。
rtcEngine:onRemoteVideoSizeChanged:withFrameInfo:远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。
rtcEngine:onLocalVideoSizeChanged:withFrameInfo:本地视频大小或旋转信息发生改变时,收到此回调。
rtcEngine:onFirstRemoteVideoFrameDecoded:withFrameInfo:SDK 接收并解码远端视频流首帧后,收到此回调。
rtcRoom:onVideoStreamBanned:isBanned:通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
rtcEngine:onPushPublicStreamResult:publicStreamId:errorCode:公共流发布结果回调。

调用 startPushPublicStream:withLayout:

接口或直接在服务端启动推公共流功能后,你会通过此回调收到启动结果和推流过程中的错误。
rtcEngine:onPlayPublicStreamResult:errorCode:订阅公共流的结果回调

调用 startPlayPublicStream: 接口拉公共流后,你会通过此回调收到启动结果和拉流过程中的错误。
rtcEngine:onPublicStreamSEIMessageReceived:andMessage:andSourceType:回调公共流中包含的 SEI 信息。
调用 startPlayPublicStream: 接口启动拉公共流功能后,通过此回调收到公共流中的 SEI 消息。
rtcEngine:onFirstPublicStreamVideoFrameDecoded:withFrameInfo:公共流的首帧视频解码成功

关于订阅公共流,详见 startPlayPublicStream:
rtcEngine:onFirstPublicStreamAudioFrame:公共流的音频首帧解码成功

关于订阅公共流,详见 startPlayPublicStream:

自定义流处理

回调描述
onStart:提示自定义编码帧可以开始推送的回调。

收到该回调后,你即可调用 pushExternalEncodedVideoFrame:withVideoIndex:withEncodedVideoFrame: 向 SDK 推送自定义编码视频帧
onStop:当收到该回调时,你需停止向 SDK 推送自定义编码视频帧
onRateUpdate:withVideoIndex:withFps:withBitRate:当自定义编码流的帧率或码率发生变化时,触发该回调
onRequestKeyFrame:withVideoIndex:提示流发布端需重新生成关键帧的回调
onActiveVideoLayer:withVideoIndex:withActive:作为自定义编码视频流的发送端,你会在视频流可发送状态发生变化时,收到此回调。
你可以根据此回调的提示,仅对可发送的视频流进行编码,以降低本端视频编码性能消耗。此回调会根据多个因素综合判断触发,包括:本端设备性能和本端网络性能,以及按需订阅场景下,远端用户是否订阅。
onLocalEncodedVideoFrame:Frame:调用 registerLocalEncodedVideoFrameObserver: 后,SDK 每次使用内部采集,采集到一帧视频帧,或收到一帧外部视频帧时,都会回调该事件。
onRemoteEncodedVideoFrame:withEncodedVideoFrame:调用 registerRemoteEncodedVideoFrameObserver: 后,SDK 监测到远端编码后视频数据时,触发该回调
onProcessEarMonitorAudioFrame:软件耳返音频数据的回调。你可根据此回调自定义处理音频。
软件耳返音频中包含通过调用 setVoiceReverbType:setVoiceChangerType: 设置的音频特效。
onProcessPlayBackAudioFrame:回调远端音频混音的音频帧地址,供自定义音频处理。
onProcessRecordAudioFrame:回调本地采集的音频帧地址,供自定义音频处理。
onProcessRemoteUserAudioFrame:audioFrame:回调单个远端用户的音频帧地址,供自定义音频处理。
onProcessScreenAudioFrame:回调屏幕共享的音频帧地址,供自定义音频处理。
onRecordAudioFrame:返回麦克风录制的音频数据
onPlaybackAudioFrame:返回订阅的所有远端用户混音后的音频数据。
onRemoteUserAudioFrame:audioFrame:返回远端单个用户的音频数据
onMixedAudioFrame:返回本地麦克风录制和订阅的所有远端用户混音后的音频数据
processVideoFrame:获取 RTC SDK 采集得到的视频帧,根据 registerLocalVideoProcessor:withConfig: 设置的视频前处理器,进行视频前处理,最终将处理后的视频帧给到 RTC SDK 用于编码传输。

网络管理

回调描述
rtcEngine:onPerformanceAlarms:roomId:reason:sourceWantedData:本地未通过 setPublishFallbackOption: 开启发布性能回退,检测到设备性能不足时,收到此回调。

本地通过 setPublishFallbackOption: 开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。
rtcEngine:onSimulcastSubscribeFallback:音视频流因网络环境变化等原因发生回退,或从回退中恢复时,触发该回调。
rtcEngine:onNetworkDetectionResult:quality:rtt:lostRate:bitrate:jitter:通话前网络探测结果的回调。

成功调用 startNetworkDetection:uplinkBandwidth:downlink:downlinkBandwidth: 接口开始探测后,会在 3s 内首次收到该回调,之后每 2s 收到一次该回调。
rtcEngine:onNetworkDetectionStopped:通话前网络探测结束

以下情况将停止探测并收到一次本回调:

1. 当调用 stopNetworkDetection 接口停止探测后,会收到一次该回调;
2. 当收到远端/本端音频首帧后,停止探测;
3. 当探测超过3分钟后,停止探测;
4. 当探测链路断开一定时间之后,停止探测。
rtcEngine:onConnectionStateChanged:SDK 与信令服务器连接状态改变回调。连接状态改变时触发。
rtcEngine:onNetworkTypeChanged:SDK 当前网络连接类型改变回调。
rtcEngine:onSEIMessageReceived:andMessage:收到通过调用 sendSEIMessage:andMessage:andRepeatCount:andCountPerFrame: 发送带有 SEI 消息的视频帧时,收到此回调。
rtcEngine:onEchoTestResult:关于音视频回路测试结果的回调。
rtcEngineOnNetworkTimeSynchronized:首次调用 getNetworkTimeInfo 后,SDK 内部启动网络时间同步,同步完成时会触发此回调。

消息

回调描述
rtcRoom:onRoomMessageReceived:message:收到房间中调用 sendRoomMessage: 发送的广播文本消息时,收到此回调。
rtcRoom:onRoomBinaryMessageReceived:message:收到房间内广播二进制消息的回调。

房间内其他用户调用 sendRoomBinaryMessage: 发送的广播二进制消息时,收到此回调。
rtcRoom:onUserMessageReceived:message:收到来自房间中其他用户通过 sendUserMessage:message:config: 发来的点对点文本消息时,会收到此回调。
rtcRoom:onUserBinaryMessageReceived:message:收到来自房间中其他用户通过 sendUserBinaryMessage:message:config: 发来的点对点二进制消息时,会收到此回调。
rtcRoom:onUserMessageSendResult:error:向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。
rtcRoom:onRoomMessageSendResult:error:调用 sendRoomMessage:sendRoomBinaryMessage: 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
rtcEngine:onLoginResult:errorCode:elapsed:登录结果回调
rtcEngine:onLogout:登出结果回调
rtcEngine:onServerParamsSetResult:设置应用服务器参数的返回结果
rtcEngine:onGetPeerOnlineStatus:status:查询对端或本端用户登录状态的返回结果
rtcEngine:onUserMessageReceivedOutsideRoom:message:收到房间外用户调用 sendUserMessageOutsideRoom:message:config: 发来的文本消息时,会收到此回调
rtcEngine:onUserBinaryMessageReceivedOutsideRoom:message:收到房间外用户调用 sendUserBinaryMessageOutsideRoom:message:config: 发来的二进制消息时,会收到此回调。
rtcEngine:onUserMessageSendResultOutsideRoom:error:给房间外指定的用户发送消息的回调
rtcEngine:onServerMessageSendResult:error:message:给应用服务器发送消息的回调。
rtcEngine:onSEIStreamUpdate:eventType:黑帧视频流发布状态回调。

在语音通话场景下,本地用户调用 sendSEIMessage:andMessage:andRepeatCount:andCountPerFrame: 通过黑帧视频流发送 SEI 数据时,流的发送状态会通过该回调通知远端用户。

你可以通过此回调判断携带 SEI 数据的视频帧为黑帧,从而不对该视频帧进行渲染。

CDN 推流

回调描述
onStreamPushEvent:taskId:error:单流转推直播状态回调

混音

回调描述
onFrame:audioFrame:当本地音频文件混音时,回调播放的音频帧。
onMediaPlayerStateChanged:state:error:播放状态改变时回调。
onMediaPlayerPlayingProgress:progress:播放进度周期性回调。回调周期通过 setProgressInterval: 设置。
onReadData:bufferSize:调用 openWithCustomSource:config: 接口播放用户传入的内存音频数据时,会触发此回调,用户需要写入音频数据。
onSeek:whence:根据设置好的内存音频数据的读取位置和读取偏移量对音频数据进行偏移,以便 SDK 读取和分析音频数据。

在调用 openWithCustomSource:config: 接口传入内存音频数据,或者调用 setPosition:position: 设置了音频数据的起始播放位置后,SDK 会对音频数据进行读取和分析,此时会触发该回调,你需要根据参数中设置的起始读取位置和偏移量进行操作。

屏幕分享

回调描述
rtcRoom:onUserPublishScreen:type:房间内新增远端屏幕共享音视频流的回调。
rtcRoom:onUserUnpublishScreen:type:reason:房间内远端屏幕共享音视频流移除的回调。
rtcEngine:onScreenVideoFrameSendStateChanged:rtcUser:state:屏幕共享流的视频首帧发送状态发生改变时,收到此回调。
rtcEngine:onScreenVideoFramePlayStateChanged:rtcUser:state:屏幕共享流视频首帧播放状态发生改变时,收到此回调。

安全与加密

回调描述
rtcEngine:onCloudProxyConnected:调用 startCloudProxy: 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。
onEncryptData:自定义加密。

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

暂不支持对原始音视频帧进行加密。
onDecryptData:自定义解密。

对自定义加密后的音视频帧数据进行解密。关于自定义加密,参看 onEncryptData:

高级功能

回调描述
rtcEngine:onExtensionAccessError:msg:当访问插件失败时,收到此回调。
RTC SDK 将一些功能封装成插件。当使用这些功能时,如果插件不存在,功能将无法使用。
rtcEngine:onRecordingStateUpdate:state:error_code:recording_info:获取本地录制状态回调。

该回调由 startFileRecording:withRecordingConfig:type:stopFileRecording: 触发。
rtcEngine:onRecordingProgressUpdate:process:recording_info:本地录制进度回调。

该回调由 startFileRecording:withRecordingConfig:type: 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。
rtcEngine:onAudioRecordingStateUpdate:error_code:调用 startAudioRecording: 或者 stopAudioRecording 改变音频文件录制状态时,收到此回调。
onTakeLocalSnapshotResult:streamIndex:image:errorCode:调用 takeLocalSnapshot:callback: 截取视频画面时,收到此回调。
onTakeRemoteSnapshotResult:streamKey:image:errorCode:调用 takeRemoteSnapshot:callback: 截取视频画面时,收到此回调。

字幕翻译服务

回调描述
rtcRoom:onSubtitleStateChanged:errorCode:errorMessage:字幕状态发生改变回调。

当用户调用 startSubtitle:stopSubtitle 使字幕状态发生改变或出现错误时,触发该回调。
rtcRoom:onSubtitleMessageReceived:字幕相关内容回调。

当用户调用 startSubtitle: 后会收到此回调,通知字幕的相关信息。

在线 KTV

回调描述
ktvManager:onDownloadSuccess:downloadResult:下载成功回调。
ktvManager:onDownloadMusicProgress:progress:歌曲文件下载进度回调。
ktvPlayer:onPlayProgress:progress:音乐播放进度回调。
onCurrentScoringInfo:实时评分信息回调。调用 startSingScoring:scoringInfoInterval: 后,会收到该回调。