API 概览

最近更新时间:2022-09-20 05:17:40

anyRTC通过全球部署的虚拟网络,提供可以灵活搭配的 API 组合,为移动端到移动端以及移动端到 Web 端提供质量可靠的实时音视频通信。

频道管理

方法 功能 
createARRtcEngine创建 RTC 引擎对象并返回指针。 
initialize初始化 RTC SDK 服务。 
release销毁 IRtcEngine 对象。 
setChannelProfile设置频道场景 
setClientRole设置直播场景下的用户角色。 
joinChannel加入频道。 
switchChannel快速切换直播频道。 
leaveChannel离开频道。
renewToken更新 Token。 
getConnectionState获取当前网络连接状态。 

频道事件

事件 描述 
onConnectionStateChanged网络连接状态已改变回调。 
onJoinChannelSuccess加入频道回调。 
onRejoinChannelSuccess重新加入频道回调。 
onLeaveChannel离开频道回调。 
onClientRoleChanged远直播场景下用户角色已切换回调。 
onUserJoined远端用户(通信场景)/主播(直播场景)加入当前频道回调。 
onUserOffline远端用户(通信场景)/主播(直播场景)离开当前频道回调。 
onNetworkTypeChanged本地网络类型发生改变回调。 
onConnectionLost网络连接丢失回调。 
onTokenPrivilegeWillExpireToken 服务即将过期回调。 
onRequestTokenToken 已过期回调。 

音频管理

方法 功能 
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增加旁路推流地址 
事件 描述 
onRtmpStreamingStateChangedRTMP 推流状态发生改变回调 
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 中实现 getMaxMetadataSizeonReadyToSendMetadataonMetadataReceived,和 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发生错误回调。 
onApiCallExecutedAPI 方法已执行回调。