anyRTC通过全球部署的虚拟网络,提供可以灵活搭配的 API 组合,为移动端到移动端以及移动端到 Web 端提供质量可靠的实时音视频通信。
- IArRtcEngine 类包含应用程序调用的主要方法。
- IRtcEngineEventHandler 类用于向应用程序发送回调通知。
- IArRtcChannel 类在指定频道中实现实时音视频功能。通过创建多个IArRtcChannel对象,用户可以同时加入多个频道。
- IChannelEventHandler 类监听和报告指定频道的事件和数据。
- ArAudioDevManager 类提供用于测试音频设备的相关接口。
- ArVideoDevManager 类提供用于测试视频设备的相关接口。
频道管理
方法 | 功能 |
---|---|
createARRtcEngine | 创建 RTC 引擎对象并返回指针。 |
initialize | 初始化 RTC SDK 服务。 |
release | 销毁 IRtcEngine 对象。 |
setChannelProfile | 设置频道场景 |
setClientRole | 设置直播场景下的用户角色。 |
joinChannel | 加入频道。 |
switchChannel | 快速切换直播频道。 |
leaveChannel | 离开频道。 |
renewToken | 更新 Token。 |
getConnectionState | 获取当前网络连接状态。 |
频道事件
事件 | 描述 |
---|---|
onConnectionStateChanged | 网络连接状态已改变回调。 |
onJoinChannelSuccess | 加入频道回调。 |
onRejoinChannelSuccess | 重新加入频道回调。 |
onLeaveChannel | 离开频道回调。 |
onClientRoleChanged | 远直播场景下用户角色已切换回调。 |
onUserJoined | 远端用户(通信场景)/主播(直播场景)加入当前频道回调。 |
onUserOffline | 远端用户(通信场景)/主播(直播场景)离开当前频道回调。 |
onNetworkTypeChanged | 本地网络类型发生改变回调。 |
onConnectionLost | 网络连接丢失回调。 |
onTokenPrivilegeWillExpire | Token 服务即将过期回调。 |
onRequestToken | 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 | 获取视频截图。 |
事件 | 描述 |
---|---|
onSnapshotTaken | 视频截图结果回调。 |
本地媒体事件
事件 | 描述 |
---|---|
onLocalAudioStateChanged | 本地音频状态发生改变 |
onLocalVideoStateChanged | 本地视频状态发生改变 |
onFirstLocalAudioFrame | 已发送本地音频首帧 |
onFirstLocalVideoFrame | 已显示本地视频首帧 |
远端媒体事件
事件 | 描述 |
---|---|
onRemoteAudioStateChanged | 远端音频流状态发生改变 |
onRemoteVideoStateChanged | 远端用户视频流状态发生改变 |
onFirstRemoteVideoFrame | 已显示远端视频首帧 |
数据统计事件
加入频道后,SDK 每隔 2 秒自动触发本组回调。 我们为这些回调提供了详细的功能描述、实现方法文档,详情请参考《通话中质量监测》。
事件 | 描述 |
---|---|
onRtcStats | 当前通话统计回调 |
onNetworkQuality | 网络上下行质量报告回调 |
onLocalAudioStats | 本地音频流统计信息回调 |
onLocalVideoStats | 本地视频流统计信息回调 |
onRemoteAudioStats | 通话中远端音频流的统计信息回调 |
onRemoteVideoStats | 远端视频流统计信息回调 |
视频前处理及后处理
方法 | 描述 |
---|---|
setBeautyEffectOptions | 设置美颜效果选项 |
多频道管理
我们为该组接口提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考加入多频道
方法 | 描述 |
---|---|
createChannel | 创建并获取一个 IChannel 对象。通过创建多个对象,用户可以同时加入多个频道 |
IChannel | 该类提供在指定频道内实现实时音视频功能的方法 |
IChannelEventHandler | 该类提供监听指定频道事件和数据的回调 |
屏幕共享
我们为该组方法提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考进行屏幕共享
方法 | 描述 |
---|---|
startScreenCaptureByDisplayId | 通过屏幕 ID 共享屏幕(仅适用于 macOS) |
startScreenCaptureByScreenRect | 通过指定区域共享屏幕 |
startScreenCaptureByWindowId | 通过窗口 ID 共享窗口 |
setScreenCaptureContentHint | 设置屏幕共享内容类型 |
updateScreenCaptureRegion | 更新屏幕共享区域 |
stopScreenCapture | 停止屏幕共享 |
音乐文件播放及混音
方法 | 功能 |
---|---|
startAudioMixing | 开始播放音乐文件 |
stopAudioMixing | 停止播放音乐文件 |
pauseAudioMixing | 暂停播放音乐文件 |
resumeAudioMixing | 恢复播放音乐文件 |
adjustAudioMixingVolume | 调节音乐文件播放音量 |
adjustAudioMixingPlayoutVolume | 调节音乐文件的本地播放音量 |
adjustAudioMixingPublishVolume | 调节音乐文件的远端播放音量 |
getAudioMixingPlayoutVolume | 获取音乐文件的本地播放音量 |
getAudioMixingPublishVolume | 获取音乐文件的远端播放音量 |
getAudioMixingDuration | 获取音乐文件播放时长 |
getAudioMixingCurrentPosition | 获取音乐文件播放进度 |
setAudioMixingPosition | 设置音乐文件的播放位置 |
getAudioTrackCount | 获取当前音乐文件的音轨索引(仅适用于 Android,iOS,Windows) |
selectAudioTrack | 指定当前音乐文件的播放音轨(仅适用于 Android,iOS,Windows) |
setAudioMixingPlaybackSpeed | 设置当前音乐文件的播放速度 |
setAudioMixingDualMonoMode | 设置当前音乐文件的声道模式 |
事件 | 描述 |
---|---|
onAudioMixingStateChanged | 本地音乐文件播放状态改变 |
onRemoteAudioMixingBegin | 远端音乐文件播放已开始 |
onRemoteAudioMixingEnd | 远端音乐文件播放已结束 |
音效文件播放管理
方法 | 功能 |
---|---|
getEffectsVolume | 获取音效文件播放音量 |
setEffectsVolume | 设置音效文件播放音量 |
setVolumeOfEffect | 实时调整音效文件播放音量 |
playEffect | 播放指定音效文件 |
stopEffect | 停止播放指定音效文件 |
stopAllEffects | 停止播放所有音效文件 |
preloadEffect | 将指定音效文件预加载至内存 |
unloadEffect | 从内存释放某个预加载的音效文件 |
pauseEffect | 暂停音效文件播放 |
pauseAllEffects | 暂停所有音效文件播放 |
resumeEffect | 恢复播放指定音效文件 |
resumeAllEffects | 恢复播放所有音效文件 |
事件 | 描述 |
---|---|
onAudioEffectFinished | 本地音效文件播放已结束 |
变声与混响
方法 | 功能 |
---|---|
setLocalVoicePitch | 设置本地语音音调 |
setLocalVoiceReverbPreset | 设置本地语音混响 |
setLocalVoicePitch | 设置本地语音音调 |
setLocalVoiceEqualization | 设置本地语音音效均衡 |
setLocalVoiceReverb | 设置本地音效混响 |
听声辨位
方法 | 功能 |
---|---|
enableSoundPositionIndication | 开启/关闭远端用户的语音立体声 |
setRemoteVoicePosition | 设置远端用户的语音位置 |
CDN推流
该组方法仅适用于互动直播。
方法 | 功能 |
---|---|
setLiveTranscoding | 开启/关闭远端用户的语音立体声 |
addPublishStreamUrl | 增加旁路推流地址 |
removePublishStreamUrl | 增加旁路推流地址 |
事件 | 描述 |
---|---|
onRtmpStreamingStateChanged | RTMP 推流状态发生改变回调 |
onTranscodingUpdated | 旁路推流设置已被更新回调 |
跨频道媒体流转发
方法 | 功能 |
---|---|
startChannelMediaRelay | 开始跨频道媒体流转发 |
updateChannelMediaRelay | 更新媒体流转发的频道 |
stopChannelMediaRelay | 停止跨频道媒体流转发 |
事件 | 描述 |
---|---|
onChannelMediaRelayStateChanged | 跨频道媒体流转发状态发生改变回调 |
onChannelMediaRelayEvent | 跨频道媒体流转发事件回调 |
音量提示
方法 | 功能 |
---|---|
enableAudioVolumeIndication | 启用说话者音量提示 |
事件 | 描述 |
---|---|
onAudioVolumeIndication | 提示频道内谁在说话以及说话者的音量 |
onActiveSpeaker | 监测到活跃用户 |
音频播放路由
本组方法仅适用于 iOS,不适用于 macOS。
方法 | 功能 |
---|---|
setDefaultAudioRouteToSpeakerphone | 设置默认的音频播放路由 |
setEnableSpeakerphone | 启用/关闭扬声器播放 |
isSpeakerphoneEnabled | 查询扬声器启用状态 |
事件 | 描述 |
---|---|
onAudioRouteChanged | 语音路由已改变 |
耳返控制
本组方法仅适用于 iOS,不适用于 macOS。
方法 | 功能 |
---|---|
enableInEarMonitoring | 开启耳返功能 |
setInEarMonitoringVolume | 设置耳返音量 |
视频双流模式
方法 | 功能 |
---|---|
enableDualStreamMode | 开关视频双流模式 |
setRemoteVideoStreamType | 设置订阅的视频流类型 |
setRemoteDefaultVideoStreamType | 设置默认订阅的视频流类型 |
视频流回退
我们为该组 API 提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考视频流回退。
方法 | 功能 |
---|---|
setLocalPublishFallbackOption | 设置弱网条件下发布的音视频流的回退选项。 |
setRemoteSubscribeFallbackOption | 设置弱网条件下订阅的音视频流的回退选项 |
setRemoteUserPriority | 设置远端用户流的优先级 |
事件 | 描述 |
---|---|
onLocalPublishFallbackToAudioOnly | 本地发布流已回退为音频流或恢复为音视频流回调 |
onRemoteSubscribeFallbackToAudioOnly | 远端订阅流已回退为音频流或恢复为音视频流回调 |
通话前网络测试
我们为该组 API 提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考通话前网络检测
方法 | 功能 |
---|---|
startEchoTest | 开始语音通话回路测试 |
stopEchoTest | 停止语音直播回路测试 |
enableLastmileTest | 启动网络测试 |
disableLastmileTest | 关闭网络测试 |
startLastmileProbeTest | 通话前网络上下行 last mile 质量报告回调 |
stopLastmileProbeTest | 停止通话前网络质量探测 |
事件 | 描述 |
---|---|
onLastmileQuality | 本地网络质量报告回调 |
onRemoteSubscribeFallbackToAudioOnly | 通话前网络质量探测报告回调 |
视频自采集(仅 Push 模式)
方法 | 功能 |
---|---|
setExternalVideoSource | 配置外部视频源 |
pushVideoFrame | 推送外部视频帧 |
音频自采集(仅 Push 模式)
方法 | 功能 |
---|---|
setExternalAudioSource | 配置外部音频源 |
pushAudioFrame | 推送外部音频帧 |
音频自渲染(仅 Push 模式)
该组方法仅适用于 Windows。
方法 | 功能 |
---|---|
setExternalAudioSink | 设置外部音频渲染 |
pullAudioFrame | 主动拉取外部音频帧 |
原始音频数据
方法 | 功能 |
---|---|
setExternalAudioSink | 设置外部音频渲染 |
setRecordingAudioFrameParameters | 设置录制的声音格式 |
setPlaybackAudioFrameParameters | 设置播放的声音格式 |
setMixedAudioFrameParameters | 设置录制与播放声音混音后的数据格式 |
事件 | 描述 |
---|---|
onRecordAudioFrame | 获得录制的声音 |
onPlaybackAudioFrame | 获得播放的声音 |
onPlaybackAudioFrameBeforeMixing | 获得混音前的指定用户的声音 |
onMixedAudioFrame | 获取录制和播放语音混音后的数据 |
原始视频数据
方法 | 功能 |
---|---|
registerVideoFrameObserver | 注册视频观测器对象 |
事件 | 描述 |
---|---|
onCaptureVideoFrame | 获取本地摄像头采集到的视频数据 |
onPreEncodeVideoFrame | 获取本地编码前的视频数据 |
getSmoothRenderingEnabled | 设置获取的视频帧是否平滑输出 |
onRenderVideoFrame | 获取远端发送的视频数据 |
getVideoFormatPreference | 请求视频数据格式 |
getRotationApplied | 设置视频数据旋转 |
getMirrorApplied | 设置视频数据镜像 |
媒体附属信息
该组方法仅适用于互动直播。 请不要在 IRtcEngineEventHandler 中实现 getMaxMetadataSize,onReadyToSendMetadata,onMetadataReceived,和 onMetadataReceived 回调。
方法 | 功能 |
---|---|
registerVideoFrameObserver | 注册媒体 Metadata 观测器。 |
事件 | 描述 |
---|---|
getMaxMetadataSize | 设置视频观测位置 |
onReadyToSendMetadata | 获取本地摄像头采集到的视频数据 |
onMetadataReceived | 获取本地编码前的视频数据 |
直播水印
该组方法仅适用于互动直播。
方法 | 功能 |
---|---|
addVideoWatermark | 添加本地视频水印。 |
clearVideoWatermarks | 添加本地视频水印。 |
加密
方法 | 功能 |
---|---|
setEncryptionSecret | 添加本地视频水印。 |
setEncryptionMode | 设置内置的加密方案。 |
enableEncryption | 设置内置的加密方案。 |
registerPacketObserver | 注册数据包观测器。 |
音频录制
方法 | 功能 |
---|---|
startAudioRecording | 开始客户端录音。 |
stopAudioRecording | 停止客户端录音。 |
直播输入在线媒体流
- 该组方法仅适用于互动直播
- 我们为该组 API 提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考输入在线媒体流。
方法 | 功能 |
---|---|
addInjectStreamUrl | 输入在线媒体流。 |
removeInjectStreamUrl | 删除输入的在线媒体流。 |
事件 | 描述 |
---|---|
onStreamInjectedStatus | 输入在线媒体流状态回调 |
摄像头控制
方法 | 功能 |
---|---|
switchCamera | 切换前置/后置摄像头(仅适用于 Android 和 iOS)。 |
事件 | 描述 |
---|---|
onCameraFocusAreaChanged | 摄像头对焦区域已改变回调。 |
onCameraExposureAreaChanged | 摄像头曝光区域已改变回调。 |
设备管理
该组方法仅适用于 Windows。
方法 | 功能 |
---|---|
enumeratePlaybackDevices | 获取系统中所有的播放设备。 |
enumerateRecordingDevices | 获取系统中所有的录音设备。 |
setPlaybackDevice | 指定播放设备。 |
setRecordingDevice | 指定录音设备。 |
startPlaybackDeviceTest | 启动播放设备测试。 |
stopPlaybackDeviceTest | 停止播放设备测试。 |
startRecordingDeviceTest | 启动录音设备测试。 |
stopRecordingDeviceTest | 停止录音设备测试。 |
startAudioDeviceLoopbackTest | 开始音频设备回路测试。 |
stopAudioDeviceLoopbackTest | 停止音频设备回路测试。 |
setPlaybackDeviceVolume | 设置播放设备音量。 |
getPlaybackDeviceVolume | 获取播放设备音量。 |
setRecordingDeviceVolume | 设置录音设备音量。 |
getRecordingDeviceVolume | 获取录音设备音量。 |
setPlaybackDeviceMute | 静音播放设备。 |
isApplicationMute | 获取 App 当前的静音状态。 |
getPlaybackDeviceMute | 获取播放设备静音状态。 |
setRecordingDeviceMute | 静音录音设备。 |
getRecordingDeviceMute | 获取录音设备静音状态。 |
enumerateVideoDevices | 获取系统中所有的视频设备列表。 |
startDeviceTest | 启动视频采集设备测试 |
stopDeviceTest | 停止视频采集设备测试。 |
getCount | 获取系统中被索引的视频采集或播放设备的总数。 |
getDevice | 获取某个被索引的视频采集设备的指定信息。 |
setDevice | 指定设备。 |
事件 | 描述 |
---|---|
onAudioDeviceStateChanged | 音频设备变化回调。 |
onAudioDeviceVolumeChanged | 回放、录音设备或 App 的音量发生改变。 |
onVideoDeviceStateChanged | 视频设备变化回调。 |
流消息
方法 | 功能 |
---|---|
createDataStream | 创建数据流。 |
sendStreamMessage | 发送数据流。 |
事件 | 描述 |
---|---|
onStreamMessage | 接收到对方数据流消息回调。 |
onStreamMessageError | 接收对方数据流消息发生错误回调。 |
其他音频控制
方法 | 功能 |
---|---|
enableLoopbackRecording | 开启声卡采集(仅适用于 macOS 和 Windows)。 |
setAudioSessionOperationRestriction | 设置 SDK 对 Audio Session 的控制权限(仅适用于 iOS)。 |
其他视频控制
方法 | 功能 |
---|---|
setCameraCapturerConfiguration | 设置摄像头采集偏好。 |
其他方法
方法 | 功能 |
---|---|
enableDeepLearningDenoise | 开启/关闭 AI 降噪模式。 |
getCallId | 获取通话 ID。 |
rate | 给通话评分。 |
complain | 投诉通话质量。 |
getVersion | 查询 SDK 版本号 |
setLogFile | 设置日志文件 |
setLogFilter | 设置日志输出等级 |
setLogFileSize | 设置日志文件大小 |
getErrorDescription | 获取警告或错误描述 |
queryInterface | 获取设备管理员对象的指针。 |
其他事件
事件 | 事件 |
---|---|
onWarning | 发生警告回调。 |
onError | 发生错误回调。 |
onApiCallExecuted | API 方法已执行回调。 |