React Native SDK 基于 Android 和 iOS 平台的 RTC SDK 封装,可在基于 React Native 开发的 Android 和 iOS 移动端应用中快速实现实时音视频功能。
RtcChannel 对象,用户可以同时加入多个频道。在调用 API 过程中,SDK 可能会返回错误码和警告码,详见错误码和警告码。
| 方法 | 描述 |
|---|---|
| create | 创建 RtcEngine 实例 |
| createWithContext | 创建 RtcEngine 实例(设置访问区域和日志文件) |
| instance | 获取已创建的 RtcEngine 实例 |
| destroy | 销毁 RtcEngine 实例 |
| setChannelProfile | 设置频道场景 |
| setClientRole | 设置直播场景下的用户角色和级别 |
| joinChannel | 加入频道 |
| switchChannel | 快速切换直播频道 |
| leaveChannel | 离开频道 |
| renewToken | 更新 Token |
| getConnectionState | 获取网络连接状态 |
| 事件 | 描述 |
|---|---|
| ConnectionStateChanged | 网络连接状态已改变回调 |
| JoinChannelSuccess | 加入频道回调 |
| RejoinChannelSuccess | 重新加入频道回调 |
| LeaveChannel | 离开频道回调 |
| ClientRoleChanged | 直播场景下用户角色切换成功回调 |
| ClientRoleChangeFailed | 直播场景下用户角色失败回调 |
| UserJoined | 远端用户加入当前频道回调 |
| UserOffline | 远端用户离开当前频道回调 |
| NetworkTypeChanged | 本地网络类型发生改变回调 |
| ConnectionLost | 网络连接丢失回调 |
| TokenPrivilegeWillExpire | Token 服务即将过期回调 |
| RequestToken | Token 已过期回调 |
| 方法 | 描述 |
|---|---|
| enableAudio | 启用音频模块 |
| disableAudio | 关闭音频模块 |
| setAudioProfile | 设置音频编码配置 |
| adjustRecordingSignalVolume | 调节录音音量 |
| adjustUserPlaybackSignalVolume | 调节本地播放的指定远端用户音量 |
| adjustPlaybackSignalVolume | 调节本地播放的所有远端用户音量 |
| enableLocalAudio | 开关本地音频采集 |
| muteLocalAudioStream | 取消或恢复发布本地音频流 |
| muteRemoteAudioStream | 取消或恢复订阅指定远端用户的音频流 |
| muteAllRemoteAudioStreams | 取消或恢复订阅所有远端用户的音频流 |
| 方法 | 描述 |
|---|---|
| enableVideo | 启用视频模块 |
| disableVideo | 关闭视频模块 |
| setVideoEncoderConfiguration | 设置视频编码配置 |
| startPreview | 开启视频预览 |
| stopPreview | 停止视频预览 |
| enableLocalVideo | 开关本地视频采集 |
| muteLocalVideoStream | 取消或恢复发布本地视频流 |
| muteRemoteVideoStream | 取消或恢复订阅指定远端用户的视频流 |
| muteAllRemoteVideoStreams | 取消或恢复订阅所有远端用户的视频流 |
| 事件 | 描述 |
|---|---|
| LocalAudioStateChanged | 本地音频状态改变回调 |
| LocalVideoStateChanged | 本地视频状态改变回调 |
| FirstLocalAudioFramePublished | 已发布本地音频首帧回调 |
| FirstLocalVideoFramePublished | 已发布本地视频首帧回调 |
| FirstLocalVideoFrame | 已显示本地视频首帧回调。 |
| AudioPublishStateChanged | 音频发布状态改变回调 |
| VideoPublishStateChanged | 视频发布状态改变回调 |
| 事件 | 描述 |
|---|---|
| RemoteAudioStateChanged | 远端用户音频状态已改变回调 |
| RemoteVideoStateChanged | 远端用户视频状态已变化回调 |
| FirstRemoteVideoFrame | 已显示远端视频首帧回调 |
| AudioSubscribeStateChanged | 音频订阅状态改变回调 |
| VideoSubscribeStateChanged | 视频订阅状态改变回调 |
| UserMuteAudio | 远端用户停止/恢复发送音频流回调 |
| UserMuteVideo | 远端用户停止/恢复发送视频流回调 |
| UserEnableLocalVideo | 远端用户开/关本地视频采集回调 |
| UserEnableVideo | 远端用户开/关视频模块回调 |
加入频道后,SDK 每隔 2 秒自动触发本组回调。
| 事件 | 描述 |
|---|---|
| RtcStats | 当前通话统计回调 |
| NetworkQuality | 网络上下行质量报告回调 |
| LocalAudioStats | 通话中本地音频流统计信息回调 |
| LocalVideoStats | 通话中本地视频流统计信息回调 |
| RemoteAudioStats | 通话中远端音频流的统计信息回调 |
| RemoteVideoStats | 通话中远端视频流统计信息回调 |
| 方法 | 描述 |
|---|---|
| setBeautyEffectOptions | 设置美颜效果选项 |
| enableVirtualBackground | 开启/关闭虚拟背景(beta 功能) |
| enableRemoteSuperResolution | 开启/关闭远端视频超分辨率(beta 功能) |
| setVideoDenoiserOptions | 设置视频降噪功能 |
| setLowLightEnhanceOptions | 设置暗光增强功能 |
| setColorEnhanceOptions | 设置色彩增强功能 |
| 事件 | 描述 |
|---|---|
| VirtualBackgroundSourceEnabled | 报告虚拟背景是否成功开启(beta 功能) |
| UserSuperResolutionEnabled | 报告超分辨率功能是否成功开启(beta 功能) |
| API | 描述 |
|---|---|
| create | 创建并获取一个 RtcChannel 对象。通过创建多个对象,用户可以同时加入多个频道。 |
| RtcChannel | 提供在指定频道内实现实时音视频功能的方法。 |
| RtcChannelEvents | 提供监听指定频道事件和数据的回调。 |
| API | 描述 |
|---|---|
| startScreenCapture | 开始屏幕共享 |
| stopScreenCapture | 结束屏幕共享 |
| updateScreenCaptureParameters | 更新屏幕共享配置 |
| 方法 | 描述 |
|---|---|
| startAudioMixing | 开始播放音乐文件 |
| stopAudioMixing | 停止播放音乐文件 |
| pauseAudioMixing | 暂停播放音乐文件 |
| resumeAudioMixing | 恢复播放音乐文件 |
| adjustAudioMixingVolume | 调节音乐文件播放音量 |
| adjustAudioMixingPlayoutVolume | 调节音乐文件的本地播放音量 |
| adjustAudioMixingPublishVolume | 调节音乐文件的远端播放音量 |
| setAudioMixingPitch | 调整本地播放的音乐文件的音调 |
| getAudioMixingPlayoutVolume | 获取音乐文件的本地播放音量 |
| getAudioMixingPublishVolume | 获取音乐文件的远端播放音量 |
| getAudioMixingDuration | 获取音乐文件播放时长 |
| getAudioMixingCurrentPosition | 获取音乐文件的播放进度 |
| setAudioMixingPosition | 设置音乐文件的播放位置 |
| getAudioTrackCount | 获取当前音乐文件的音轨数量 |
| selectAudioTrack | 指定当前音乐文件的播放音轨 |
| selectAudioTrack | Specifies the playback track of the current music file. |
| setAudioMixingPlaybackSpeed | 设置当前音乐文件的播放速度 |
| setAudioMixingDualMonoMode | 设置当前音乐文件的声道模式 |
| 事件 | 描述 |
|---|---|
| AudioMixingStateChanged | 本地用户的音乐文件播放状态已改变回调 |
| 方法 | 描述 |
|---|---|
| getEffectsVolume | 获取播放音效文件音量 |
| setEffectsVolume | 设置播放音效文件音量 |
| setVolumeOfEffect | 实时调整播放音效文件音量 |
| playEffect | 播放指定音效文件 |
| stopEffect | 停止播放指定音效文件 |
| stopAllEffects | 停止播放所有音效文件 |
| preloadEffect | 将音效文件加载至内存 |
| unloadEffect | 从内存释放某个预加载的音效文件 |
| pauseEffect | 暂停音效文件播放 |
| pauseAllEffects | 暂停所有音效文件播放 |
| resumeEffect | 恢复播放指定音效文件 |
| resumeAllEffects | 恢复播放所有音效文件 |
| getEffectDuration | 获取指定音效文件总时长 |
| getEffectCurrentPosition | 获取指定音效文件的播放进度 |
| setEffectPosition | 设置指定音效文件的播放位置 |
| 事件 | 描述 |
|---|---|
| AudioEffectFinished | 本地音效文件播放已结束回调 |
| 方法 | 描述 |
|---|---|
| getAudioFileInfo | 获取指定音频文件信息 |
| 事件 | 描述 |
|---|---|
| RequestAudioFileInfo | 音频文件信息回调 |
| 方法 | 描述 |
|---|---|
| startRhythmPlayer | 开启虚拟节拍器 |
| configRhythmPlayer | 配置虚拟节拍器 |
| stopRhythmPlayer | 关闭虚拟节拍器 |
| 方法 | 描述 |
|---|---|
| setAudioEffectPreset | 设置 SDK 预设的人声音效 |
| setVoiceBeautifierPreset | 设置 SDK 预设的美声效果 |
| setVoiceBeautifierParameters | 设置 SDK 预设美声效果的参数 |
| setAudioEffectParameters | 设置 SDK 预设人声音效的参数 |
| setLocalVoicePitch | 设置本地语音音调 |
| enableLocalVoicePitchCallback | 开启本地语音音调回调 |
| setLocalVoiceEqualization | 设置本地语音音效均衡 |
| setLocalVoiceReverb | 设置本地音效混响 |
| setVoiceConversionPreset | 设置 SDK 预设的变声效果 |
| 事件 | 描述 |
|---|---|
| LocalVoicePitchInHz | 报告本地用户的语音音调 |
| 方法 | 描述 |
|---|---|
| enableSoundPositionIndication | 开启/关闭远端用户的语音立体声 |
| setRemoteVoicePosition | 设置远端用户的语音位置 |
该组方法仅适用于互动直播。
| 方法 | 描述 |
|---|---|
| startRtmpStreamWithoutTranscoding | 开始非转码推流 |
| startRtmpStreamWithTranscoding | 开始 CDN 直播推流并设置转码属性 |
| updateRtmpTranscoding | 更新转码属性 |
| stopRtmpStream | 结束 CDN 直播推流 |
| 事件 | 描述 |
|---|---|
| RtmpStreamingStateChanged | RTMP/RTMPS 推流状态发生改变回调 |
| RtmpStreamingEvent | RTMP/RTMPS 推流事件回调 |
| TranscodingUpdated | 旁路推流设置已被更新回调 |
| 方法 | 描述 |
|---|---|
| startChannelMediaRelay | 开始跨频道媒体流转发 |
| updateChannelMediaRelay | 更新媒体流转发的频道 |
| pauseAllChannelMediaRelay | 暂停向所有目标频道转发媒体流 |
| resumeAllChannelMediaRelay | 恢复跨频道媒体流转发 |
| stopChannelMediaRelay | 停止跨频道媒体流转发 |
| 事件 | 描述 |
|---|---|
| ChannelMediaRelayStateChanged | 跨频道媒体流转发状态发生改变回调 |
| ChannelMediaRelayEvent | 跨频道媒体流转发事件回调 |
| 方法 | 描述 |
|---|---|
| enableAudioVolumeIndication | 启用说话者音量提示 |
| 事件 | 描述 |
|---|---|
| AudioVolumeIndication | 提示频道内谁正在说话及说话者音量的回调 |
| ActiveSpeaker | 监测到远端最活跃用户回调 |
| 方法 | 描述 |
|---|---|
| enableFaceDetection | 开启/关闭本地人脸检测 |
| 事件 | 描述 |
|---|---|
| FacePositionChanged | 报告本地人脸检测结果 |
| 方法 | 描述 |
|---|---|
| setDefaultAudioRoutetoSpeakerphone | 设置默认的音频路由 |
| setEnableSpeakerphone | 启用/关闭扬声器播放 |
| isSpeakerphoneEnabled | 查询扬声器启用状态 |
| 事件 | 描述 |
|---|---|
| AudioRouteChanged | 语音路由已改变回调 |
| 方法 | 描述 |
|---|---|
| enableInEarMonitoring | 开启耳返功能 |
| setInEarMonitoringVolume | 设置耳返音量 |
| 方法 | 描述 |
|---|---|
| enableDualStreamMode | 开关视频双流模式 |
| setRemoteVideoStreamType | 设置订阅的视频流类型 |
| setRemoteDefaultVideoStreamType | 设置默认订阅的视频流类型 |
| 方法 | 描述 |
|---|---|
| setLocalPublishFallbackOption | 设置弱网条件下发布的音视频流回退选项 |
| setRemoteSubscribeFallbackOption | 设置弱网条件下订阅的音视频流回退选项 |
| setRemoteUserPriority | 设置用户媒体流优先级 |
| 事件 | 描述 |
|---|---|
| LocalPublishFallbackToAudioOnly | 本地发布流已回退为音频流或恢复为音视频流回调 |
| RemoteSubscribeFallbackToAudioOnly | 远端订阅流已回退为音频流或恢复为音视频流回调 |
| 方法 | 描述 |
|---|---|
| startEchoTest | 开始通话回路测试 |
| stopEchoTest | 停止通话回路测试 |
| enableLastmileTest | 启用网络测试 |
| disableLastmileTest | 关闭网络测试 |
| startLastmileProbeTest | 开始通话前网络质量探测 |
| stopLastmileProbeTest | 停止通话前网络质量探测 |
| 事件 | 描述 |
|---|---|
| LastmileQuality | 本地网络质量报告回调 |
| LastmileProbeResult | 本地网络上下行 Last mile 质量报告回调 |
该组方法仅适用于互动直播。
| 方法 | 描述 |
|---|---|
| registerMediaMetadataObserver | 注册媒体 Metadata 观测器 |
| setMaxMetadataSize | 设置 Metadata 的最大数据大小 |
| sendMetadata | 发送 Metadata |
| unregisterMediaMetadataObserver | 注销媒体 Metadata 观测器 |
该组方法仅适用于互动直播。
| 方法 | 描述 |
|---|---|
| addVideoWatermark | 添加本地视频水印 |
| clearVideoWatermarks | 删除已添加的视频水印 |
| 方法 | 描述 |
|---|---|
| takeSnapshot | 获取视频截图 |
| 事件 | 描述 |
|---|---|
| SnapshotTaken | 视频截图结果回调 |
| 方法 | 描述 |
|---|---|
| enableContentInspect | 开启/关闭视频截图上传 |
| 方法 | 描述 |
|---|---|
| enableEncryption | 开启/关闭内置加密 |
| 方法 | 描述 |
|---|---|
| startAudioRecordingWithConfig | 开始客户端录音 |
| stopAudioRecording | 停止客户端录音 |
| 方法 | 描述 |
|---|---|
| startRecording | 开启本地音视频流录制 |
| stopRecording | 停止本地音视频流录制 |
| 事件 | 描述 |
|---|---|
| RecorderStateChanged | 录制状态发生改变回调 |
| RecorderInfoUpdated | 录制信息更新回调 |
| 方法 | 描述 |
|---|---|
| switchCamera | 切换前置/后置摄像头 |
| isCameraZoomSupported | 检测设备是否支持摄像头缩放功能 |
| isCameraTorchSupported | 检查设备是否支持打开闪光灯 |
| isCameraFocusSupported | 检测设备是否支持手动对焦功能 |
| isCameraExposurePositionSupported | 检测设备是否支持手动曝光功能 |
| isCameraAutoFocusFaceModeSupported | 检测设备是否支持人脸对焦功能 |
| setCameraZoomFactor | 设置摄像头缩放比例 |
| getCameraMaxZoomFactor | 获取摄像头支持最大缩放比例 |
| setCameraFocusPositionInPreview | 设置手动对焦位置,并触发对焦 |
| setCameraExposurePosition | 设置手动曝光位置 |
| setCameraTorchOn | 设置是否打开闪光灯 |
| setCameraAutoFocusFaceModeEnabled | 设置是否开启人脸对焦功能 |
| 事件 | 描述 |
|---|---|
| CameraFocusAreaChanged | 摄像头对焦区域已改变回调 |
| CameraExposureAreaChanged | 摄像头曝光区域已改变回调 |
| 方法 | 描述 |
|---|---|
| createDataStreamWithConfig | 创建数据流 |
| sendStreamMessage | 发送数据流 |
| 事件 | 描述 |
|---|---|
| StreamMessage | 接收到对方数据流消息的回调 |
| StreamMessageError | 接收对方数据流消息发生错误的回调 |
| 方法 | 描述 |
|---|---|
| enableWirelessAccelerate | 开启或关闭 Wi-Fi 加速功能 |
| 事件 | 描述 |
|---|---|
| WlAccMessage | 报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议 |
| WlAccStats | 报告 Wi-Fi 加速效果 |
| 方法 | 描述 |
|---|---|
| setCameraCapturerConfiguration | 设置摄像头的采集偏好 |
| 方法 | 描述 |
|---|---|
| setAVSyncSource | 设置发流端音画同步 |
| setCloudProxy | 设置声网云代理服务 |
| enableDeepLearningDenoise | 开启或关闭 AI 降噪模式 |
| getCallId | 获取通话 ID |
| rate | 给通话评分 |
| complain | 投诉通话质量 |
| getSdkVersion | 查询 SDK 版本号 |
| addListener | 添加 RtcEngineEvents 主回调事件 |
| removeListener | 删除指定的 RtcEngineEvents 对象 |
| removeAllListeners | 删除所有的 RtcEngineEvents 对象 |
| setAgoraLibPath | 设置 `.so` 文件的存储目录 |
| 事件 | 描述 |
|---|---|
| Warning | 发生警告回调 |
| Error | 发生错误回调 |
| ApiCallExecuted | API 方法已执行回调 |
| ProxyConnected | 代理连接状态回调 |