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

概览

最近更新时间2023.10.27 11:33:25

首次发布时间2023.09.08 17:15:19

方法

引擎管理

方法描述
CreateRTCVideo创建 RTCVideoEngine 实例。
RTCVideoEngine 实例成功创建后,你才可以使用 SDK 提供的其他能力。
GetSDKVersion获取 SDK 当前的版本号。
Feedback通话结束,将用户反馈的问题上报到 RTC。
GetErrorDescription获取 SDK 内各种错误码、警告码的描述文字
SetBusinessId设置业务标识参数。
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。
SetRuntimeParameters设置运行时的参数。

房间管理

方法描述
CreateRTCRoom创建房间
Destroy退出并销毁调用 CreateRTCRoom 所创建的房间。
JoinRoom加入房间。
调用 CreateRTCRoom 创建房间后,调用此方法加入房间,同房间内其他用户进行音视频通话。
LeaveRoom离开房间。

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

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

此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 OnLeaveRoomEventHandler 回调通知。
SetUserVisibility设置用户可见性。默认可见。
UpdateToken更新 Token。
收到 OnTokenWillExpireEventHandler 时,你必须重新获取 Token,并调用此方法更新 Token,以保证通话的正常进行。

音频管理

方法描述
SetAudioRoute设置当前音频播放路由。
音频播放路由发生变化时,会收到 OnAudioRouteChangedEventHandler 回调。
SetDefaultAudioRoute将默认的音频播放设备设置为听筒或扬声器。
GetAudioRoute获取当前使用的音频播放路由。
EnumerateAudioPlaybackDevices获取当前系统内音频播放设备列表。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表。
EnumerateAudioCaptureDevices获取当前系统内音频采集设备列表。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表。
SetAudioPlaybackDevice设置音频播放设备。
SetAudioCaptureDevice设置音频采集设备。
GetAudioPlaybackDevice获取当前音频播放设备 ID。
GetAudioCaptureDevice获取当前音频采集设备 ID。
FollowSystemPlaybackDevice设置音频播放路由是否跟随系统。
FollowSystemCaptureDevice设置音频采集路由是否跟随系统。
SetAudioPlaybackDeviceVolume设置当前音频播放设备音量
GetAudioPlaybackDeviceVolume获取当前音频播放设备音量
SetAudioCaptureDeviceVolume设置当前音频采集设备音量
GetAudioCaptureDeviceVolume获取当前音频采集设备音量
SetAudioPlaybackDeviceMute设置当前音频播放设备静音状态,默认为非静音。
GetAudioPlaybackDeviceMute获取当前音频播放设备是否静音的信息。
SetAudioCaptureDeviceMute设置当前音频采集设备静音状态,默认为非静音。
GetAudioCaptureDeviceMute获取当前音频采集设备是否静音的信息。
SetCaptureVolume调节音频采集音量
SetPlaybackVolume调节本地播放的所有远端用户混音后的音量。
SetRemoteAudioPlaybackVolume调节来自指定远端用户的音频播放音量,默认为 100。
EnableAudioPropertiesReport启用音频信息提示。
StartAudioCapture开启内部音频采集。默认为关闭状态。
内部采集是指:使用 RTC SDK 内置的视频采集机制进行视频采集。
调用该方法开启后,本地用户会收到 OnAudioDeviceStateChangedEventHandler 的回调。
可见用户进房后调用该方法,房间中的其他用户会收到 OnUserStartAudioCaptureEventHandler 的回调。
StopAudioCapture立即关闭内部音频采集。默认为关闭状态。

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

可见用户进房后调用该方法,房间中的其他用户会收到 OnUserStopAudioCaptureEventHandler 的回调。
SetAudioScenario设置音频场景类型
StartScreenAudioCapture在屏幕共享时,开始使用 RTC SDK 内部采集方式,采集屏幕音频
StopScreenAudioCapture在屏幕共享时,停止使用 RTC SDK 内部采集方式,采集屏幕音频。
SetAudioProfile设置音质档位。你应根据业务场景需要选择适合的音质档位。
GetAudioDeviceManager获取音频设备管理接口,该接口依赖引擎

视频管理

方法描述
StartVideoCapture立即开启内部视频采集。默认为关闭状态。
内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。
调用该方法后,本地用户会收到 OnVideoDeviceStateChangedEventHandler 的回调。
本地用户在非隐身状态下调用该方法后,房间中的其他用户会收到 OnUserStartVideoCaptureEventHandler 的回调。
StopVideoCapture立即关闭内部视频采集。默认为关闭状态。
内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。
调用该方法,本地用户会收到 OnVideoDeviceStateChangedEventHandler 的回调。
可见用户进房后调用该方法,房间中的其他用户会收到 OnUserStopVideoCaptureEventHandler 的回调。
SetVideoCaptureConfig设置 RTC SDK 内部采集时的视频采集参数。

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

接收端渲染视频时,将按照和发送端相同的方式进行旋转。
SwitchCamera切换视频内部采集时使用的前置/后置摄像头

调用此接口后,在本地会触发 OnVideoDeviceStateChangedEventHandler 回调。
EnumerateVideoCaptureDevices获取当前系统内视频采集设备列表。
SetVideoCaptureDevice设置当前视频采集设备
GetVideoDeviceManager获取视频设备管理接口
GetVideoCaptureDevice获取当前 SDK 正在使用的视频采集设备信息
SetVideoEncoderConfig1视频发布端设置期望发布的最大分辨率视频流参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。

音视频传输

方法描述
PublishStream在当前所在房间内发布本地通过摄像头/麦克风采集的媒体流
UnpublishStream停止将本地摄像头/麦克风采集的媒体流发布到当前所在房间中
SubscribeStream订阅房间内指定的通过摄像头/麦克风采集的媒体流,或更新对指定远端用户的订阅选项。
UnsubscribeStream取消订阅房间内指定的通过摄像头/麦克风采集的媒体流。

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

自动订阅和手动订阅的流都可以通过本方法取消订阅。
PauseAllSubscribedStream暂停接收来自远端的媒体流。
ResumeAllSubscribedStream恢复接收来自远端的媒体流

视频处理

方法描述
SetLocalVideoMirrorType为采集到的视频流开启镜像

音频处理

方法描述
SetVoiceReverbType设置混响特效类型

自定义流处理

方法描述
SetVideoSourceType设置向 SDK 输入的视频源,包括屏幕流。
默认使用内部采集。内部采集指:使用 RTC SDK 内置的视频采集机制进行视频采集。
PushExternalVideoFrame推送外部视频帧。
SetLocalVideoSink将本地视频流与自定义渲染器绑定。
SetRemoteVideoSink将远端视频流与自定义渲染器绑定。
SetAudioSourceType切换音频采集方式
PushExternalAudioFrame推送自定义采集的音频数据到 RTC SDK。
EnableAudioProcessor设置并开启指定的音频帧回调,进行自定义处理。
DisableAudioProcessor关闭自定义音频处理。
EnableAudioFrameCallback设置并开启指定的音频数据帧回调
DisableAudioFrameCallback关闭音频回调

消息

方法描述
SendRoomMessage给房间内的所有其他用户群发文本消息。
SendUserMessage给房间内指定的用户发送点对点文本消息(P2P)。
SendStreamSyncInfo发送音频流同步信息。将消息通过音频流发送到远端,并实现与音频流同步,该接口调用成功后,远端用户会收到 OnStreamSyncInfoReceivedEventHandler 回调。
SendSEIMessage通过视频帧发送 SEI 数据。
在视频通话场景下,SEI 数据会随视频帧发送;在语音通话场景下,SDK 会自动生成一路 16px × 16px 的黑帧视频流用来发送 SEI 数据。

混音

方法描述
EnableVocalInstrumentBalance开启/关闭音量均衡功能。

开启音量均衡功能后,人声的响度会调整为 -16lufs。

屏幕分享

方法描述
StartScreenCapture使用 RTC SDK 内部采集模块开始采集屏幕音频流和(或)视频流。
GetScreenCaptureSourceList获取共享对象(应用窗口和桌面)列表, 使用完之后需要调用对应的 release 接口释放
StartScreenVideoCapture使用 RTC SDK 提供的采集模块,采集当前屏幕视频流,用于共享。
UpdateScreenCaptureHighlightConfig通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新边框高亮设置。默认展示表框。
UpdateScreenCaptureMouseCursor通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新对鼠标的处理设置。默认采集鼠标。
UpdateScreenCaptureFilterConfig通过 RTC SDK 提供的采集模块采集屏幕视频流时,设置需要过滤的窗口。
UpdateScreenCaptureRegion通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新采集区域。
StopScreenVideoCapture停止屏幕视频流采集。
PublishScreen在当前所在房间内发布本地屏幕共享音视频流
UnpublishScreen停止将本地屏幕共享音视频流发布到当前所在房间中
GetThumbnail获取共享对象缩略图
SetScreenAudioSourceType在屏幕共享时,设置屏幕音频的采集方式(内部采集/自定义采集)
SetScreenAudioStreamIndex在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式
PushScreenAudioFrame使用自定义采集方式,采集屏幕共享时的屏幕音频时,将音频帧推送至 RTC SDK 处进行编码等处理。
PushScreenVideoFrame推送屏幕视频帧
SetScreenVideoEncoderConfig为发布的屏幕共享视频流设置期望的编码参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。
SubscribeScreen订阅房间内指定的远端屏幕共享音视频流,或更新对指定远端用户的订阅选项
UnsubscribeScreen取消订阅房间内指定的远端屏幕共享音视频流。
该方法对自动订阅和手动订阅模式均适用。

高级功能

方法描述
StartAudioRecording开启录制语音通话,生成本地文件。
StopAudioRecording停止音频文件录制
SetEarMonitorMode打开/关闭耳返功能。
SetEarMonitorVolume设置耳返音量。
GetSpatialAudio获取空间音频接口。
EnableSpatialAudio设置是否开启空间语音
UpdatePosition更新本地用户发声时,在房间内空间直角坐标系中的位置坐标。
UpdateSelfOrientation更新自己的朝向。本地朝向的设置只影响本地听到的音频效果,不影响本地发出的音频效果。
DisableRemoteOrientation关闭本地用户朝向对本地用户发声效果的影响。

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

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

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

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

引擎管理

回调描述
OnLogReportEventHandler上报日志时回调该事件。
OnSysStatsEventHandler每 2 秒发生回调,通知当前 CPU 及内存使用的信息。
OnWarningEventHandler发生警告回调。
OnErrorEventHandler发生错误回调。
OnTokenWillExpireEventHandlerToken 过期前 30 秒将触发该回调。

调用 UpdateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。

房间管理

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

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

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

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

+ 房间内不可见远端用户调用 SetUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。

+ 新进房用户也会收到进房前已在房内的可见用户的进房回调通知。
OnUserLeaveEventHandler远端用户离开房间,或切至不可见时,本地用户会收到此事件

音频管理

回调描述
OnAudioDeviceWarningEventHandler媒体设备警告回调。媒体设备包括:音频采集设备、音频渲染设备、和视频采集设备。
OnAudioDeviceStateChangedEventHandler音频设备状态回调。提示音频采集、音频播放等媒体设备的状态。
OnAudioRouteChangedEventHandler音频播放路由变化时,收到该回调。
OnLocalAudioPropertiesReportEventHandler调用 EnableAudioPropertiesReport 后,根据设置的 Interval 值,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。
OnRemoteAudioPropertiesReportEventHandler远端用户进房后,本地调用 EnableAudioPropertiesReport ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。

远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。
OnUserStartAudioCaptureEventHandler房间内的可见用户调用 StartAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
OnUserStopAudioCaptureEventHandler房间内的可见用户调用 StopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
OnStreamSyncInfoReceivedEventHandler音频流同步信息回调。可以通过此回调,在远端用户调用 SendStreamSyncInfo 发送音频流同步消息后,收到远端发送的音频流同步信息。
OnAudioStreamBannedEventHandler通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。
OnLocalAudioStateChangedEventHandler本地音频流的状态发生改变时,该回调通知当前的本地音频流状态。

视频管理

回调描述
OnUserStartVideoCaptureEventHandler房间内的可见用户调用 StartVideoCapture 开启内部视频采集时,房间内其他用户会收到此回调。
OnUserStopVideoCaptureEventHandler房间内的可见用户调用 StopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。
OnVideoDeviceStateChangedEventHandler视频设备状态回调。提示摄像头视频采集、屏幕视频采集等媒体设备的状态。
OnVideoDeviceWarningEventHandler视频设备警告回调,包括视频采集等设备。

音视频传输

回调描述
OnStreamStateChangedEventHandler流状态改变回调,发生流相关的警告或错误时会收到此回调。
OnUserPublishStreamEventHandler房间内新增远端摄像头/麦克风采集的媒体流的回调。
OnUserUnPublishStreamEventHandler房间内远端摄像头/麦克风采集的媒体流移除的回调。
OnStreamSubscribedEventHandler关于订阅媒体流状态改变的回调
OnAudioFrameSendStateChangedEventHandler本地音频首帧发送状态发生改变时,收到此回调。
OnVideoFrameSendStateChangedEventHandler本地视频首帧发送状态发生改变时,收到此回调。
OnAudioFramePlayStateChangedEventHandler音频首帧播放状态发生改变时,收到此回调
OnVideoFramePlayStateChangedEventHandler视频首帧播放状态发生改变时,收到此回调。
OnLocalStreamStatsEventHandler本地流数据统计以及网络质量回调。

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

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

本地用户订阅流成功后,SDK 会周期性(2s)的通过此回调事件通知用户订阅的流在此次统计周期内的质量统计信息,包括:发送音视频比特率、发送帧率、编码帧率,网络质量等。
OnNetworkQualityEventHandler加入房间后, 以 2 秒 1 次的频率,报告用户的网络质量信息
OnFirstLocalAudioFrameEventHandler本地采集到第一帧音频帧时,收到该回调。
OnFirstRemoteAudioFrameEventHandler接收到来自远端某音频流的第一帧时,收到该回调。
OnFirstLocalVideoFrameCapturedEventHandlerRTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。
OnLocalVideoSizeChangedEventHandler本地视频大小或旋转信息发生改变时,收到此回调。
OnLocalVideoStateChangedEventHandler本地视频流的状态发生改变时,收到该事件。
OnRemoteVideoSizeChangedEventHandler远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。
OnRemoteVideoStateChangedEventHandler远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
OnRemoteAudioStateChangedEventHandler用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
OnFirstRemoteVideoFrameRenderedEventHandlerSDK 内部渲染成功远端视频流首帧后,收到此回调。
OnVideoStreamBannedEventHandler通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
OnFirstRemoteVideoFrameDecodedEventHandlerSDK 接收并解码远端视频流首帧后,收到此回调。

自定义流处理

回调描述
OnProcessEarMonitorAudioFrameEventHandler回调耳返数据的音频帧地址,供自定义音频处理。
OnProcessPlaybackAudioFrameEventHandler回调远端音频混音的音频帧地址,供自定义音频处理。
OnProcessRecordAudioFrameEventHandler回调本地采集的音频帧地址,供自定义音频处理。
OnProcessRemoteUserAudioFrameEventHandler回调单个远端用户的音频帧地址,供自定义音频处理。
OnProcessScreenAudioFrameEventHandler屏幕共享的音频帧地址回调。你可根据此回调自定义处理音频。
OnRecordAudioFrameEventHandler返回麦克风录制的音频数据
OnPlaybackAudioFrameEventHandler返回订阅的所有远端用户混音后的音频数据。
OnRemoteUserAudioFrameEventHandler返回远端单个用户的音频数据
OnMixedAudioFrameEventHandler返回本地麦克风录制和订阅的所有远端用户混音后的音频数据
OnRecordScreenAudioFrameEventHandler返回本地屏幕录制的音频数据
OnLocalVideoSinkOnFrameEventHandler自定义渲染器本地视频帧回调。
OnLocalVideoSinkGetRenderElapseEventHandler自定义渲染本地视频帧耗时。
OnLocalVideoSinkReleaseEventHandler释放本地自定义渲染器。
OnRemoteVideoSinkOnFrameEventHandler自定义渲染器远端视频帧回调。
OnRemoteVideoSinkGetRenderElapseEventHandler自定义渲染远端视频帧耗时。
OnRemoteVideoSinkReleaseEventHandler释放远端自定义渲染器。

网络管理

回调描述
OnConnectionStateChangedEventHandler回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。
OnNetworkTypeChangedEventHandlerSDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
OnSEIMessageReceivedEventHandler收到通过调用 SendSEIMessage 发送带有 SEI 消息的视频帧时,收到此回调。
OnSEIMessageUpdateEventHandler黑帧视频流发布状态回调。

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

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

消息

回调描述
OnRoomMessageReceivedEventHandler接收到房间内广播消息的回调。

房间内其他用户调用 sendRoomMessageIRTCAudioRoomsendRoomMessage 发送广播消息时,收到此回调。
OnUserMessageReceivedEventHandler收到来自房间中其他用户通过 SendUserMessage 发来的点对点文本消息时,会收到此回调。
OnUserMessageSendResultEventHandler向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。
OnRoomMessageSendResultEventHandler调用 SendRoomMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。

屏幕分享

回调描述
OnUserPublishScreenEventHandler房间内新增远端屏幕共享音视频流的回调。
OnUserUnPublishScreenEventHandler房间内远端屏幕共享音视频流移除的回调。
OnScreenVideoFrameSendStateChangedEventHandler屏幕共享流的视频首帧发送状态发生改变时,收到此回调。

高级功能

回调描述
OnAudioRecordingStateUpdateEventHandler调用 StartAudioRecordingStopAudioRecording 改变音频文件录制状态时,收到此回调。