注意:
anyRTC 通过全球部署的虚拟网络,提供可以灵活搭配的 API 组合,为移动端到移动端以及移动端到 Web 端提供质量可靠的实时音视频通信。
- ARtcEngineKit 是 anyRTC SDK 的入口类,提供所有可供 App 调用的方法。
- ARtcEngineDelegate 接口类采用 Delegate 方法向 App 发送回调通知。
频道管理
| 方法 | 功能 |
|---|---|
| sharedEngineWithAppId | 创建 ARtcEngineKit 实例 |
| destroy | 销毁 RtcEngine 实例 |
| setChannelProfile | 设置频道场景 |
| setClientRole | 设置直播场景的用户角色 |
| joinChannelByToken | 加入频道 |
| switchChannelByToken | 快速切换直播频道 |
| leaveChannel | 离开频道 |
| renewToken | 更新 Token |
| getConnectionState | 获取网络连接状态 |
频道事件
| 事件 | 描述 |
|---|---|
| didJoinChannel | 已加入频道 |
| didRejoinChannel | 已重新加入频道 |
| didLeaveChannelWithStats | 已离开频道 |
| didClientRoleChanged | 用户角色已切换 |
| didJoinedOfUid | 远端用户已加入频道 |
| didOfflineOfUid | 远端用户已离开频道 |
| connectionChangedToState | 网络连接状态已改变 |
| networkTypeChangedToType | 本地网络类型发生改变 |
| rtcEngineConnectionDidLost | 网络连接中断且 SDK 无法在 10 秒内连接服务器 |
| tokenPrivilegeWillExpire | Token 服务即将过期 |
| rtcEngineRequestToken | Token 已过期 |
音频管理
| 方法 | 功能 |
|---|---|
| enableAudio | 启用音频模块 |
| disableAudio | 关闭音频模块 |
| setAudioProfile | 设置音频编码配置 |
| adjustRecordingSignalVolume | 调节录音音量 |
| adjustUserPlaybackSignalVolume | 调节本地播放的指定远端用户音量。 |
| adjustPlaybackSignalVolume | 调节本地播放的所有远端用户音量。 |
| enableLocalAudio | 开关本地音频采集 |
| muteLocalAudioStream | 开关本地音频发送 |
| muteRemoteAudioStream | 停止/恢复接收指定音频流 |
| muteAllRemoteAudioStreams | 停止/恢复接收所有音频流 |
| setDefaultMuteAllRemoteAudioStreams | 设置是否默认接收音频流 |
视频管理
| 方法 | 功能 |
|---|---|
| enableVideo | 启用视频模块 |
| disableVideo | 关闭视频模块 |
| setVideoEncoderConfiguration | 设置视频编码配置 |
| setupLocalVideo | 初始化本地用户视图 |
| setupRemoteVideo | 初始化远端用户视图 |
| setLocalRenderMode | 更新本地视图显示模式 |
| setRemoteRenderMode | 更新远端视图显示模式 |
| startPreview | 开启视频预览 |
| stopPreview | 停止视频预览 |
| enableLocalVideo | 开关本地视频采集 |
| muteLocalVideoStream | 开关本地视频发送 |
| muteRemoteVideoStream | 停止/恢复接收指定视频流 |
| muteAllRemoteVideoStreams | 停止/恢复接收所有视频流 |
| setDefaultMuteAllRemoteVideoStreams | 设置是否默认接收视频流 |
视频截图
| 方法 | 描述 |
|---|---|
| takeSnapshot | 获取视频截图。 |
| 事件 | 描述 |
|---|---|
| snapshotTaken | 视频截图结果回调。 |
直播水印
| 方法 | 描述 |
|---|---|
| addVideoWatermark | 添加本地视频水印。 |
| clearVideoWatermarks | 删除已添加的视频水印。 |
本地媒体事件
| 事件 | 描述 |
|---|---|
| localAudioStateChange | 本地音频状态发生改变 |
| localVideoStateChange | 本地视频状态发生改变 |
| firstLocalAudioFrame | 已发送本地音频首帧 |
| firstLocalVideoFrameWithSize | 已显示本地视频首帧 |
远端媒体事件
| 事件 | 描述 |
|---|---|
| remoteAudioStateChangedOfUid | 远端音频流状态发生改变 |
| remoteVideoStateChangedOfUid | 远端用户视频流状态发生改变 |
| firstRemoteVideoFrameOfUid | 已显示远端视频首帧 |
| didVideoMuted | 远端用户视频已静音/取消静音 |
数据统计事件
加入频道后,SDK 每隔 2 秒自动触发本组回调。 我们为这些回调提供了详细的功能描述、实现方法文档,详情请参考《通话中质量监测》。
| 事件 | 描述 |
|---|---|
| remoteAudioStats | 报告通话中远端音频流的统计信息 |
| reportRtcStats | 报告 Rtc Engine 统计信息 |
| networkQuality | 报告网络上下行质量 |
| localAudioStats | 通话中本地音频流的统计信息回调 |
| localVideoStats | 报告本地视频统计信息 |
| remoteVideoStats | 报告远端视频统计信息 |
音乐文件播放及混音
| 方法 | 功能 |
|---|---|
| startAudioMixing | 开始播放音乐文件 |
| stopAudioMixing | 停止播放音乐文件 |
| pauseAudioMixing | 暂停播放音乐文件 |
| resumeAudioMixing | 恢复播放音乐文件 |
| adjustAudioMixingVolume | 调节音乐文件播放音量 |
| adjustAudioMixingPlayoutVolume | 调节音乐文件的本地播放音量 |
| adjustAudioMixingPublishVolume | 调节音乐文件的远端播放音量 |
| getAudioMixingPlayoutVolume | 获取音乐文件的本地播放音量 |
| getAudioMixingPublishVolume | 获取音乐文件的远端播放音量 |
音效文件播放管理
| 方法 | 功能 |
|---|---|
| getEffectsVolume | 获取音效文件播放音量 |
| setEffectsVolume | 设置音效文件播放音量 |
| setVolumeOfEffect | 实时调整音效文件播放音量 |
| playEffect | 播放指定音效文件 |
| stopEffect | 停止播放指定音效文件 |
| stopAllEffects | 停止播放所有音效文件 |
| preloadEffect | 将指定音效文件预加载至内存 |
| unloadEffect | 从内存释放某个预加载的音效文件 |
| pauseEffect | 暂停音效文件播放 |
| pauseAllEffects | 暂停所有音效文件播放 |
| resumeEffect | 恢复播放指定音效文件 |
| resumeAllEffects | 恢复播放所有音效文件 |
| 事件 | 描述 |
|---|---|
| rtcEngineDidAudioEffectFinish | 本地音效文件播放已结束 |
音量提示
| 方法 | 功能 |
|---|---|
| enableAudioVolumeIndication | 启用说话者音量提示 |
| 事件 | 描述 |
|---|---|
| reportAudioVolumeIndicationOfSpeakers | 提示频道内谁在说话以及说话者的音量 |
| activeSpeaker | 监测到活跃用户 |
音频播放路由
本组方法仅适用于 iOS,不适用于 macOS。
| 方法 | 功能 |
|---|---|
| setDefaultAudioRouteToSpeakerphone | 设置默认的音频播放路由 |
| setEnableSpeakerphone | 启用/关闭扬声器播放 |
| isSpeakerphoneEnabled | 查询扬声器启用状态 |
| 事件 | 描述 |
|---|---|
| didAudioRouteChanged | 语音路由已改变 |
耳返控制
本组方法仅适用于 iOS,不适用于 macOS。
| 方法 | 功能 |
|---|---|
| enableInEarMonitoring | 开启耳返功能 |
| setInEarMonitoringVolume | 设置耳返音量 |
视频双流模式
| 方法 | 功能 |
|---|---|
| enableDualStreamMode | 开关视频双流模式 |
| setRemoteVideoStream | 设置订阅的视频流类型 |
| setRemoteDefaultVideoStreamType | 设置默认订阅的视频流类型 |
摄像头控制
本组方法仅适用于 iOS,不适用于 macOS。
| 方法 | 功能 |
|---|---|
| switchCamera | 切换前置/后置摄像头 |
| isCameraZoomSupported | 检测设备是否支持摄像头缩放功能 |
| isCameraTorchSupported | 检测设备是否支持闪光灯常开 |
| isCameraFocusPositionInPreviewSupported | 检测设备是否支持手动对焦功能 |
| isCameraExposurePositionSupported | 检测设备是否支持手动曝光功能 |
| isCameraAutoFocusFaceModeSupported | 检测设备是否支持人脸对焦功能 |
| setCameraZoomFactor | 设置摄像头缩放比例 |
| setCameraFocusPositionInPreview | 设置手动对焦位置,并触发对焦 |
| setCameraExposurePosition | 设置手动曝光位置 |
| setCameraTorchOn | 设置是否打开闪光灯 |
| setCameraAutoFocusFaceModeEnabled | 设置是否开启人脸对焦功能 |
其他方法
| 方法 | 功能 |
|---|---|
| getCallId | 获取通话 ID |
| enableMainQueueDispatch | 分发/不分发回调至主队列 |
| getSdkVersion | 查询 SDK 版本号 |
| getErrorDescription | 获取警告或错误描述 |
| setLogFile | 设置日志文件 |
| setLogFileSize | 设置日志文件大小 |
| setLogFilter | 设置日志输出等级 |
| getNativeHandle | 获取 SDK 引擎的 C++ 句柄 |
| delegate | 设置/获取回调事件 |
其他事件
| 事件 | 事件 |
|---|---|
| didOccurWarning | 发生警告 |
| didOccurError | 发生错误 |

