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

概览

最近更新时间2024.02.27 19:05:54

首次发布时间2021.07.18 14:08:21

方法

引擎管理

方法描述
createRTCVideo创建 IRTCVideo 实例。

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

可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。
setRuntimeParameters设置运行时的参数

房间管理

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

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

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

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

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

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

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

此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 onLeaveRoom 回调通知。
setUserVisibility设置用户可见性。未调用该接口前,本地用户默认对他人可见。
默认情况下,一个 RTC 房间最多同时容纳 50 名可见用户,最多 30 人可同时上麦。更多信息参看用户和媒体流上限
updateToken更新 Token。
收到 onTokenWillExpireonPublishPrivilegeTokenWillExpire, 或 onSubscribePrivilegeTokenWillExpire 时,你必须重新获取 Token,并调用此方法更新 Token,以保证通话的正常进行。

音频管理

方法描述
buildAudioFrame创建 IAudioFrame
enumerateAudioPlaybackDevices获取当前系统内音频播放设备列表。如果后续设备有变更,你会收到 onAudioMediaDeviceStateChanged 回调通知,然后需要重新调用本接口以获得新的设备列表。
enumerateAudioCaptureDevices获取当前系统内音频采集设备列表。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表。
setAudioPlaybackDevice设置音频播放设备。
setAudioCaptureDevice设置音频采集设备。
getAudioPlaybackDevice获取当前音频播放设备 ID。
getAudioCaptureDevice获取当前音频采集设备 ID。
followSystemPlaybackDevice设置音频播放路由是否跟随系统。
followSystemCaptureDevice设置音频采集路由是否跟随系统。
setAudioPlaybackDeviceVolume设置当前音频播放设备音量
getAudioPlaybackDeviceVolume获取当前音频播放设备音量
setAudioCaptureDeviceVolume设置当前音频采集设备音量
getAudioCaptureDeviceVolume获取当前音频采集设备音量
setAudioPlaybackDeviceMute设置当前音频播放设备静音状态,默认为非静音。
getAudioPlaybackDeviceMute获取当前音频播放设备是否静音的信息。
setAudioCaptureDeviceMute设置当前音频采集设备静音状态,默认为非静音。
getAudioCaptureDeviceMute获取当前音频采集设备是否静音的信息。
startAudioPlaybackDeviceTest启动音频播放设备检测。测试启动后,循环播放指定的音频文件,同时将通过 onAudioPlaybackDeviceTestVolume 回调播放时的音量信息。
stopAudioPlaybackDeviceTest停止音频播放测试。
initAudioPlaybackDeviceForTest尝试初始化音频播放设备,可检测出设备不存在、权限被拒绝/禁用等异常问题。
initAudioCaptureDeviceForTest尝试初始化音频采集设备,可检测设备不存在、权限被拒绝/禁用等异常问题。
setCaptureVolume调节音频采集音量
setPlaybackVolume调节本地播放的所有远端用户音频混音后的音量,混音内容包括远端人声、音乐、音效等。

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

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

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

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

可见用户进房后调用该方法后,房间中的其他用户会收到 onUserStopAudioCapture 的回调。
startScreenAudioCapture在屏幕共享时,开始使用 RTC SDK 内部采集方式,采集屏幕音频
stopScreenAudioCapture在屏幕共享时,停止使用 RTC SDK 内部采集方式,采集屏幕音频。
setAudioProfile设置音质档位。

当所选的 RoomProfileType 中的音频参数无法满足你的场景需求时,调用本接口切换的音质档位。
getAudioDeviceManager设备音频管理接口创建
startAudioDeviceRecordTest开始音频采集设备和音频播放设备测试。
stopAudioDeviceRecordAndPlayTest停止采集本地音频,并开始播放采集到的声音。录音播放完毕后,设备测试流程结束。

调用 startAudioDeviceRecordTest 30 s 内调用本接口来停止采集并开始播放此前采集到的声音。
stopAudioDevicePlayTest停止由调用 startAudioDeviceRecordTest 开始的音频播放设备测试。

在音频播放设备测试自动结束前,可调用本接口停止音频采集与播放测试。
enableExternalSoundCard启用匹配外置声卡的音频处理模式
enableAGC打开/关闭 AGC(Automatic Gain Control) 自动增益控制功能。

开启该功能后,SDK 会自动调节麦克风的采集音量,确保音量稳定。
startHardwareEchoDetection开启通话前回声检测
stopHardwareEchoDetection停止通话前回声检测

视频管理

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

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

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

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

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

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

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

如果你的项目使用了 SDK 内部采集模块,可以通过本接口指定视频采集参数,包括模式、分辨率、帧率。
setLocalVideoCanvas设置本地视频渲染时使用的视图,并设置渲染模式。
updateLocalVideoCanvas修改本地视频渲染模式和背景色。
setRemoteVideoCanvas设置渲染指定视频流 stream_key 时,使用的视图和渲染模式。

如果需要解除某个用户的绑定视图,你可以把 canvas 设置为空。
enumerateVideoCaptureDevices获取当前系统内视频采集设备列表。
setVideoCaptureDevice设置当前视频采集设备
getVideoDeviceManager创建视频设备管理实例
getVideoCaptureDevice获取当前 SDK 正在使用的视频采集设备信息
buildVideoFrame创建 IVideoFrame
setVideoEncoderConfig 视频发布端设置期望发布的最大分辨率视频流参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。

该接口支持设置一路视频流参数,设置多路参数请使用重载 API:setVideoEncoderConfig
setVideoEncoderConfig 视频发布端设置推送多路流时各路流的参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。
buildEncodedVideoFrame创建 IEncodedVideoFrame

音视频传输

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

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

自动订阅和手动订阅的流都可以通过本方法取消订阅。
requestRemoteVideoKeyFrame在订阅远端视频流之后,向远端请求关键帧
startForwardStreamToRooms开始跨房间转发媒体流。
在调用 joinRoom 后调用本接口,实现向多个房间转发媒体流,适用于跨房间连麦等场景。
stopForwardStreamToRooms停止跨房间媒体流转发。
通过 startForwardStreamToRooms 发起媒体流转发后,可调用本方法停止向所有目标房间转发媒体流。
updateForwardStreamToRooms更新跨房间媒体流转发信息。

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

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

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

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

关于发布公共流,查看 startPushPublicStream
startPlayPublicStream订阅指定公共流

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

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

视频处理

方法描述
setLocalVideoMirrorType为采集到的视频流开启镜像
setRemoteVideoMirrorType使用内部渲染时,为远端流开启镜像。
setVideoCaptureRotation设置本端采集的视频帧的旋转角度。
当摄像头倒置或者倾斜安装时,可调用本接口进行调整。
setVideoWatermark在指定视频流上添加水印。
clearVideoWatermark移除指定视频流的水印。
enableEffectBeauty开启/关闭基础美颜。
setBeautyIntensity调整基础美颜强度。
getVideoEffectInterface获取视频特效接口。
getAuthMessage从特效 SDK 获取授权消息,用于获取在线许可证。
freeAuthMessage使用完授权消息字符串后,释放内存。
initCVResource检查视频特效证书,设置算法模型路径,并初始化特效模块。
enableVideoEffect开启高级美颜、滤镜等视频特效。
disableVideoEffect关闭视频特效。
setEffectNodes设置视频特效素材包。
updateEffectNode设置特效强度。
setColorFilter设置颜色滤镜。
setColorFilterIntensity设置已启用颜色滤镜的强度。
enableVirtualBackground将摄像头采集画面中的人像背景替换为指定图片或纯色背景。
disableVirtualBackground关闭虚拟背景。
enableFaceDetection开启人脸识别功能,并设置人脸检测结果回调观察者。
此观察者后,你会周期性收到 onFaceDetectResult 回调。
disableFaceDetection关闭人脸识别功能。
setVideoCaptureRotation设置本端采集的视频帧的旋转角度。
当摄像头倒置或者倾斜安装时,可调用本接口进行调整。
setVideoDigitalZoomConfig设置本地摄像头数码变焦参数,包括缩放倍数,移动步长。
setVideoDigitalZoomControl控制本地摄像头数码变焦,缩放或移动一次。设置对本地预览画面和发布到远端的视频都生效。
startVideoDigitalZoomControl开启本地摄像头持续数码变焦,缩放或移动。设置对本地预览画面和发布到远端的视频都生效。
stopVideoDigitalZoomControl停止本地摄像头持续数码变焦。

音频处理

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

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

自定义流处理

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

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

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

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

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

网络管理

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

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

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

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

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

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

消息

方法描述
sendRoomMessage给房间内的所有其他用户群发文本消息。
sendRoomBinaryMessage给房间内的所有其他用户群发二进制消息。
login登录 RTS 服务器。
必须先登录,才能调用 sendUserMessageOutsideRoomsendServerMessage 发送房间外点对点消息和向应用服务器发送消息

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

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

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

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

CDN 推流

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

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

使用 startPushMixedStreamToCDN 启用转推直播功能后,使用此方法更新功能配置参数。
startPushSingleStreamToCDN新增单流转推直播任务。
stopPushStreamToCDN停止转推直播。

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

混音

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

可以通过传入不同的 ID 和 filepath 多次调用本方法,以实现同时播放多个音效文件,实现音效叠加。
stop停止播放音效文件。
stopAll停止播放所有音效文件。
preload预加载指定音乐文件到内存中,以避免频繁播放同一文件时的重复加载,减少 CPU 占用。
unload卸载指定音效文件。
unloadAll卸载所有音效文件。
pause暂停播放音效文件。
pauseAll暂停播放所有音效文件。
resume恢复播放音效文件。
resumeAll恢复播放所有音效文件。
setPosition设置音效文件的起始播放位置。
getPosition获取音效文件播放进度。
setVolume调节指定音效的音量大小,包括音效文件和 PCM 音频。
getVolume获取当前音量。
getDuration获取音效文件时长。
setEventHandler设置回调句柄。
getMediaPlayer创建音乐播放器实例。
open打开音乐文件。
一个播放器实例仅能够同时打开一个音乐文件。如果需要同时打开多个音乐文件,请创建多个音乐播放器实例。
要播放 PCM 格式的音频数据,参看 openWithCustomSourceopenWithCustomSource 和此 API 互斥。
start播放音乐。你仅需要在调用 open,且未开启自动播放时,调用此方法。
openWithCustomSource启动音频裸数据混音。
要播放音乐文件,参看 openopen 与此 API 互斥。
stop调用 open, start, 或 openWithCustomSource 开始播放后,可以调用本方法停止。
pause调用 open,或 start 开始播放音频文件后,调用本方法暂停播放。
resume调用 pause 暂停音频播放后,调用本方法恢复播放。
setVolume调节指定混音的音量大小,包括音乐文件混音和 PCM 混音。
getVolume获取当前音量
getTotalDuration获取音乐文件时长。
getPlaybackDuration获取混音音乐文件的实际播放时长,单位为毫秒。
getPosition获取音乐文件播放进度。
setAudioPitch开启变调功能,多用于 K 歌场景。
setPosition设置音乐文件的起始播放位置。
setAudioDualMonoMode设置当前音乐文件的声道模式
getAudioTrackCount获取当前音乐文件的音轨数
selectAudioTrack指定当前音乐文件的播放音轨
setPlaybackSpeed设置播放速度
setProgressInterval设置音频文件混音时,收到 onMediaPlayerPlayingProgress 的间隔。
setLoudness如果你需要使用 enableVocalInstrumentBalance 对音频文件/PCM 音频数据设置音量均衡,你必须通过此接口传入其原始响度。
registerAudioFrameObserver注册回调句柄以在本地音乐文件混音时,收到相关回调。
pushExternalAudioFrame推送用于混音的 PCM 音频帧数据
setEventHandler设置回调句柄。

屏幕分享

方法描述
getScreenCaptureSourceList获取共享对象列表。
startScreenVideoCapture采集屏幕视频流,用于共享。屏幕视频流包括:屏幕上显示的内容,应用窗口中显示的内容,或虚拟屏幕中显示的内容。

其中,虚拟屏幕中显示的内容仅在 Windows 平台上支持。
updateScreenCaptureHighlightConfig通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新边框高亮设置。默认展示表框。
updateScreenCaptureMouseCursor通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新对鼠标的处理设置。默认采集鼠标。
updateScreenCaptureFilterConfig通过 RTC SDK 提供的采集模块采集屏幕视频流时,设置需要过滤的窗口。
updateScreenCaptureRegion通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新采集区域。仅用于采集源为显示器屏幕时。
stopScreenVideoCapture停止屏幕视频流采集。
publishScreen在当前所在房间内手动发布本地屏幕共享音视频流。

如果你需要手动向多个房间发布屏幕共享流,可以使用同样的 uid 加入多个房间,并在每个房间调用该方法。同时,你可以在不同的房间发布不同的屏幕共享流类型。
unpublishScreen停止将本地屏幕共享音视频流发布到当前所在房间中
getThumbnail获取共享对象缩略图
getWindowAppIcon获取应用窗体所属应用的图标。
setScreenAudioSourceType在屏幕共享时,设置屏幕音频的采集方式(内部采集/自定义采集)
setScreenAudioStreamIndex在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式
setScreenAudioChannel在屏幕共享时,设置屏幕音频流的声道数
pushScreenAudioFrame使用自定义采集方式,采集屏幕共享时的屏幕音频时,将音频帧推送至 RTC SDK 处进行编码等处理。
pushScreenVideoFrame推送屏幕视频帧
setOriginalScreenVideoInfo外部采集时,当屏幕或待采集窗口大小发生改变,为了使 RTC 更好地决策合适的帧率和分辨率积,调用此接口设置改变前的分辨率。
setScreenVideoEncoderConfig为发布的屏幕共享视频流设置期望的编码参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。
subscribeScreen订阅房间内指定的远端屏幕共享音视频流,或更新对指定远端用户的订阅选项
unsubscribeScreen取消订阅房间内指定的远端屏幕共享音视频流。

该方法对自动订阅和手动订阅模式均适用。

安全与加密

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

高级功能

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

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

调用此接口后,房间内的其他用户收听本地发声时,声源都在收听者正面。
enableSpatialAudio开启/关闭空间音频功能。
getRangeAudio获取范围语音接口实例。
enableRangeAudio开启/关闭范围语音功能。

范围语音是指,在同一 RTC 房间中设定的音频接收距离范围内,本地用户收听到的远端用户音频音量会随着远端用户的靠近/远离而放大/衰减;若远端用户在房间内的位置超出设定范围,则本地用户无法接收其音频。音频接收范围设置参看 updateReceiveRange
setAttenuationModel设置范围语音的音量衰减模式。
setNoAttenuationFlags添加标签组,用于标记相互之间通话不衰减的用户组。

在同一个 RTC 房间中,如果多个用户的标签组之间有交集,那么,他们之间互相通话时,通话不衰减。

比如,用户身处多个队伍,队伍成员间通话不衰减。那么,可以为每个队伍绑定专属标签,每个用户的标签组包含用户所属各个队伍的标签。
updatePosition更新本地用户在房间内空间直角坐标系中的位置坐标。
updateReceiveRange更新本地用户的音频收听范围。
createStreamingRTCEngine创建 IStreamingRTCEngine 实例。

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

如果当前线程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。
destroyStreamingRTCEngine销毁由 createStreamingRTCEngine 创建的 IStreamingRTCEngine 实例,并释放所有相关资源。
setVideoEncoderConfig设置推送多路流时的各路视频参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。
startup启动串流引擎

通过 EngineConfig 设置引擎类型服务端或客户端和端口号范围
shutdown关闭串流引擎
sendP2PMessage发送点对点文本消息
sendP2PBinaryMessage发送点对点二进制消息
pullAudioFrame拉取音频数据
pushAudioFrame推送自定义音频数据
setVideoDecoderConfig设置远端视频数据解码方式。

需要在 startup 之前调用本接口。
setVideoSourceType设置输入到串流引擎的视频源

默认使用内部采集。内部采集指:使用 SDK 内置的视频采集机制进行视频采集。
pushVideoFrame发送外部源视频数据
pushEncodedVideoFrame推送自定义编码后的视频流
requestRemoteVideoKeyFrame在订阅远端视频流之后,向远端请求关键帧
setReportExtraInfo设置上报的 trace 的 extra_info
takeLocalSnapshot截取本地视频画面
takeRemoteSnapshot截取远端视频画面
setAnsMode支持根据业务场景,设置通话中的音频降噪模式。
updateSelfPosition设置本地用户在自建空间直角坐标系中的收听坐标和收听朝向,以实现本地用户预期的空间音频收听效果。
updateRemotePosition设置房间内某一远端用户在本地用户自建的空间音频坐标系中的发声位置和发声朝向,以实现本地用户预期的空间音频收听效果。
removeRemotePosition移除调用 updateRemotePosition 为某一远端用户设置的空间音频效果。
removeAllRemotePosition移除调用 updateRemotePosition 为所有远端用户设置的空间音频效果。

字幕翻译服务

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

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

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

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

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

在线 KTV

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

引擎管理

回调描述
onLogReport上报日志时回调该事件。
onSysStats周期性(2s)发出回调,报告当前 CPU 与内存的相关信息。
onWarning发生警告回调。

SDK 运行时出现了警告。SDK 通常会自动恢复,警告信息可以忽略。

你可能需要干预.
onError发生错误回调。

SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。
onTokenWillExpireToken 进房权限过期前 30 秒将触发该回调。

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

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

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

房间管理

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

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

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

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

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

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

用户进房开始通话后,每 2s 收到一次本回调。
onSetRoomExtraInfoResult调用 setRoomExtraInfo 设置房间附加信息结果的回调。
onRoomExtraInfoUpdate接收同一房间内,其他用户调用 setRoomExtraInfo 设置的房间附加信息的回调。

音频管理

回调描述
onAudioDeviceWarning音频设备警告回调。音频设备包括音频采集设备和音频渲染设备。
onAudioDeviceStateChanged音频设备状态回调。提示音频采集、音频播放等设备设备的状态。
onLocalAudioPropertiesReport调用 enableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。

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

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

视频管理

回调描述
onUserStartVideoCapture房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此回调。
onUserStopVideoCapture房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。
若发布视频数据前未开启采集,房间内所有可见用户会收到此回调。
onVideoDeviceStateChanged视频频设备状态回调。提示摄像头视频采集、屏幕视频采集等设备的状态。
onVideoDeviceWarning视频设备警告回调,包括视频采集设备等。
onFaceDetectResult特效 SDK 进行人脸检测结果的回调。

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

音视频传输

回调描述
onStreamStateChanged流状态改变回调,发生流相关的警告或错误时会收到此回调。
onAVSyncStateChange发布端调用 setMultiDeviceAVSync 后音视频同步状态发生改变时,会收到此回调。
onUserPublishStream房间内新增远端摄像头/麦克风采集的媒体流的回调。
onUserUnpublishStream房间内远端摄像头/麦克风采集的媒体流移除的回调。
onStreamSubscribed关于订阅媒体流状态改变的回调
onAudioFrameSendStateChanged本地音频首帧发送状态发生改变时,收到此回调。
onVideoFrameSendStateChanged本地视频首帧发送状态发生改变时,收到此回调。
onAudioFramePlayStateChanged音频首帧播放状态发生改变时,收到此回调。
onVideoFramePlayStateChanged视频首帧播放状态改变回调
onLocalStreamStats本地流数据统计以及网络质量回调。

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

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

本地用户订阅流成功后,SDK 会周期性(2s)的通过此回调事件通知用户订阅的流在此次统计周期内的质量统计信息,包括:发送音视频比特率、发送帧率、编码帧率,网络质量等。
onNetworkQuality加入房间并发布或订阅流后, 以每 2 秒一次的频率,报告本地用户和已订阅的远端用户的上下行网络质量信息。
onForwardStreamStateChanged跨房间媒体流转发状态和错误回调
onForwardStreamEvent跨房间媒体流转发事件回调
onRemoteAudioStateChanged用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
onFirstLocalAudioFrame发布音频流时,采集到第一帧音频帧,收到该回调。
onFirstRemoteAudioFrame接收到来自远端某音频流的第一帧时,收到该回调。
onFirstLocalVideoFrameCapturedRTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。
onLocalVideoSizeChanged本地视频大小或旋转信息发生改变时,收到此回调。
onRemoteVideoSizeChanged远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。
onRemoteVideoStateChanged远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
onFirstRemoteVideoFrameRenderedSDK 内部渲染成功远端视频流首帧后,收到此回调。
onVideoStreamBanned通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
onFirstRemoteVideoFrameDecodedSDK 接收并解码远端视频流首帧后,收到此回调。
onPushPublicStreamResult公共流发布结果回调。

调用 startPushPublicStream 接口发布公共流后,启动结果通过此回调方法通知用户。
onPlayPublicStreamResult订阅公共流的结果回调

通过 startPlayPublicStream 订阅公共流后,可以通过本回调获取订阅结果。
onPublicStreamSEIMessageReceived回调公共流中包含的 SEI 信息。
调用 startPlayPublicStream 接口启动拉公共流功能后,通过此回调收到公共流中的 SEI 消息。
onFirstPublicStreamVideoFrameDecoded公共流的首帧视频解码成功

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

关于订阅公共流,详见 startPlayPublicStream

自定义流处理

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

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

网络管理

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

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

成功调用 startNetworkDetection 接口开始探测后,会在 3s 内首次收到该回调,之后每 2s 收到一次该回调。
onNetworkDetectionStopped通话前网络探测结束
以下情况将停止探测并收到本一次本回调:

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

消息

回调描述
onLoginResult登录结果回调
onLogout登出结果回调
onServerParamsSetResult设置应用服务器参数的返回结果
onGetPeerOnlineStatus查询对端或本端用户登录状态的返回结果
onUserMessageReceivedOutsideRoom收到房间外用户调用 sendUserMessageOutsideRoom 发来的文本消息时,会收到此回调
onUserBinaryMessageReceivedOutsideRoom收到房间外用户调用 sendUserBinaryMessageOutsideRoom 发来的二进制消息时,会收到此回调
onUserMessageSendResultOutsideRoom给房间外指定的用户发送消息的回调
onServerMessageSendResult给应用服务器发送消息的回调。
onRoomMessageReceived接收到房间内广播消息的回调。
onRoomBinaryMessageReceived收到房间内广播二进制消息的回调。

房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。
onUserMessageReceived收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此回调。
onUserBinaryMessageReceived收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此回调。
onUserMessageSendResult向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。
onRoomMessageSendResult调用 sendRoomMessagesendRoomBinaryMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
onSEIStreamUpdate黑帧视频流发布状态回调。

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

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

CDN 推流

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

混音

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

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

屏幕分享

回调描述
onUserPublishScreen房间内新增远端屏幕共享音视频流的回调。
onUserUnpublishScreen房间内远端屏幕共享音视频流移除的回调。
onScreenVideoFrameSendStateChanged屏幕共享流的视频首帧发送状态发生改变时,收到此回调。
onScreenVideoFramePlayStateChanged屏幕共享流视频首帧播放状态发生改变时,收到此回调。
onExternalScreenFrameUpdate外部采集时,调用 setOriginalScreenVideoInfo设置屏幕或窗口大小改变前的分辨率后,若屏幕采集模式为智能模式,你将收到此回调,根据 RTC 智能决策合适的帧率和分辨率积(宽*高)重新采集。
onScreenAudioFrameSendStateChanged屏幕音频首帧发送状态改变回调
onScreenAudioFramePlayStateChanged屏幕音频首帧播放状态改变回调

安全与加密

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

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

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

对自定义加密后的音视频帧数据进行解密。关于自定义加密,参看 onEncryptData
onLocalProxyStateChanged本地代理状态发生改变回调。调用 setLocalProxy 设置本地代理后,SDK 会触发此回调,返回代理连接的状态。

高级功能

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

该回调由 startFileRecordingstopFileRecording 触发。
onRecordingProgressUpdate本地录制进度回调。

该回调由 startFileRecording 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。
onAudioRecordingStateUpdate调用 startAudioRecordingstopAudioRecording 改变音频文件录制状态时,收到此回调。
onLogReport端监控日志回调。当产生一个端监控事件时触发该回调。
onWarning当内部发生警告事件时触发该回调
onError当 SDK 内部发生不可逆转错误时触发该回调。
onP2PConnectionStateChanged串流引擎连接状态改变回调。连接状态改变时触发。
onP2PConnectionStatsP2P 通话统计信息回调。

串流引擎启动后,每 2s 收到一次本回调。
onP2PLocalStreamStats串流引擎启动后,每隔 2s 收到此回调,了解本端发布的流在此周期内的网络质量信息。
onP2PRemoteStreamStats每隔 2s 收到此回调,了解远端用户发布的流在此周期内的网络质量信息。
onP2PMessageSendResult调用 sendP2PMessagesendP2PBinaryMessage ,向远端用户发送文本或二进制消息后,消息发送方会收到本次发送的结果回调。
onP2PMessageReceived收到远端用户发来的文本消息时,会收到此回调。
onP2PBinaryMessageReceived收到远端用户发来的二进制消息时,会收到此回调。
onP2PRemoteVideoFrame获取远端用户发送的视频帧。

关于推送视频帧,参看 pushVideoFrame

关于推送已编码的视频流,参看 pushEncodedVideoFrame

关于编码设置,参看 setVideoDecoderConfig
onP2PRemoteEncodedVideoFrame获取远端用户解码前的视频数据。获取数据后传入自定义解码器进行解码。

关于推送视频帧,参看 pushVideoFrame

关于推送已编码的视频流,参看 pushEncodedVideoFrame

关于编码设置,参看 setVideoDecoderConfig
onP2PLocalExternalEncoderStart提醒外部视频编码器开始工作。

关于编码设置,参看 setVideoSourceType
onP2PLocalExternalEncoderStop提醒外部视频编码器停止工作。

关于编码设置,参看 setVideoSourceType
onP2PSuggestLocalExternalEncoderRateUpdate提醒外部视频编码器调整编码码率。

关于编码设置,参看 setVideoSourceType
onP2PRequestLocalExternalEncoderKeyFrame提醒外部视频编码器发送关键帧。

关于编码设置,参看 setVideoSourceType
onTakeLocalSnapshotResult调用 takeLocalSnapshot 截取视频画面时,收到此回调。
onTakeRemoteSnapshotResult调用 takeRemoteSnapshot 截取视频画面时,收到此回调。

字幕翻译服务

回调描述
onSubtitleStateChanged字幕状态发生改变回调。

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

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

在线 KTV

回调描述
onMusicListResult歌曲列表回调。
onSearchMusicResult搜索歌曲结果回调。
onHotMusicResult热榜歌曲结果回调。
onMusicDetailResult歌曲详细信息回调。
onDownloadSuccess下载成功回调。
onDownloadFailed下载失败回调。
onDownloadMusicProgress歌曲文件下载进度回调。
onPlayProgress音乐播放进度回调。
onCurrentScoringInfo实时评分信息回调。调用 startSingScoring 后,会收到该回调。