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

RtcEngine 接口类

核心方法

主要包括创建 RTC 引擎和基本通信/直播频道的方法。本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
create 创建 RtcEngine 实例。
destroy 销毁 RtcEngine 实例。
setChannelProfile 设置频道模式。
setClientRole 设置直播场景下的用户角色。
joinChannel 加入频道。
leaveChannel 离开频道。
renewToken 更新 Token。
enableWebSdkInteroperability 打开与 Agora Web SDK 的互通(仅适用于直播场景)。
getConnectionState 获取网络连接状态。

核心音频方法

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
enableAudio 启用音频模块。
disableAudio 关闭音频模块。
setAudioProfile 设置音频编码配置。
adjustRecordingSignalVolume 调节录音音量。
adjustPlaybackSignalVolume 调节播放音量。
enableAudioVolumeIndication 启用说话者音量提示。
enableLocalAudio 开关本地音频采集。
muteLocalAudioStream 开关本地音频发送。
muteRemoteAudioStream 接收/停止接收指定音频流。
muteAllRemoteAudioStreams 接收/停止接收所有音频流。
setDefaultMuteAllRemoteAudioStreams 设置是否默认接收音频流。

核心视频方法

本组方法适用于声网如下产品:视频通话和互动直播。

方法 描述
enableVideo 启用视频模块。
disableVideo 关闭视频模块。
setVideoEncoderConfiguration 设置视频编码配置。
setupLocalVideo 设置本地视图。
setupRemoteVideo 设置远端用户视图。
setLocalRenderMode 设置本地视图显示模式。
setRemoteRenderMode 设置远端视图显示模式。
CreateRendererView 创建渲染视图。
startPreview 开启视频预览。
stopPreview 停止视频预览。
enableLocalVideo 开关本地视频采集。
muteLocalVideoStream 开关本地视频发送。
muteRemoteVideoStream 接收/停止接收指定视频流。
muteAllRemoteVideoStreams 接收/停止接收所有视频流。
setDefaultMuteAllRemoteVideoStreams 设置是否默认接收视频流。

音频播放路由

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
setDefaultAudioRoutetoSpeaker 设置默认的音频播放路由。
setEnableSpeakerphone 启用/关闭扬声器播放。
isSpeakerphoneEnabled 查询扬声器启用状态。

耳返设置

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
enableInEarMonitoring 开启耳返功能。
setInEarMonitoringVolume 设置耳返音量。

语音音效设置

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
setLocalVoicePitch 设置本地语音音调。
setLocalVoiceEqualization 设置本地语音音效均衡。
setLocalVoiceReverb 设置本地音效混响。

音乐文件播放及混音设置

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
startAudioMixing 开始播放音乐文件。
stopAudioMixing 停止播放音乐文件。
pauseAudioMixing 暂停播放音乐文件。
resumeAudioMixing 恢复播放音乐文件。
adjustAudioMixingVolume 调节音乐文件播放音量。
adjustAudioMixingPlayoutVolume 调节音乐文件的本地播放音量。
adjustAudioMixingPublishVolume 调节音乐文件的远端播放音量。
getAudioMixingDuration 获取音乐文件播放时长。
getAudioMixingCurrentPosition 获取音乐文件的播放进度。
setAudioMixingPosition 设置音乐文件的播放位置。

音效文件播放管理

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
getAudioEffectManager 获取 IAudioEffectManager 类,以管理音效文件。
getEffectsVolume 获取播放音效文件音量。
setEffectsVolume 设置播放音效文件音量。
setVolumeOfEffect 实时调整播放音效文件音量。
playEffect 播放指定音效文件。
stopEffect 停止播放指定音效文件。
stopAllEffects 停止播放所有音效文件。
preloadEffect 将音效文件加载至内存。
unloadEffect 从内存释放某个预加载的音效文件。
pauseEffect 暂停音效文件播放。
pauseAllEffects 暂停所有音效文件播放。
resumeEffect 恢复播放指定音效文件。
resumeAllEffects 恢复播放所有音效文件。

音频录制

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
startAudioRecording 开始客户端录音。
stopAudioRecording 停止客户端录音。

开启声卡采集

  • N/A

网络相关测试

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
startEchoTest 开始语音通话回路测试。
stopEchoTest 停止语音通话回路测试。
enableLastmileTest 启用网络测试。
disableLastmileTest 关闭网络测试。

自定义视频模块

本组方法适用于声网如下产品:视频通话和互动直播。

方法 描述
setVideoSource 设置自定义视频源。
setLocalVideoRenderer 自定义本地视频渲染器。
setRemoteVideoRenderer 自定义远端视频渲染器。

音频自采集(仅适用于 Push 模式)

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
setExternalAudioSource 设置外部音频采集参数。
pushExternalAudioFrame 推送外部音频帧。

音频自渲染

  • N/A

视频自采集(仅适用于 Push 模式)

本组方法适用于声网如下产品:视频通话和互动直播。

方法 描述
setExternalVideoSource 配置外部视频源。
pushExternalVideoFrame 推送外部视频帧。
isTextureEncodeSupported 检查视频是否支持 Texture 编码。

原始音频数据处理

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。详见 修改原始音视频数据

方法 描述
registerAudioFrameObserver 注册语音观测器对象。
setRecordingAudioFrameParameters 设置录制的声音格式。
setPlaybackAudioFrameParameters 设置播放的声音的格式。
setMixedAudioFrameParameters 设置录制与播放声音混音后的数据格式。

原始视频数据处理

  • N/A

直播视频水印

本组方法仅适用于声网的互动直播产品。

方法 描述
addVideoWatermark 添加本地视频水印。
clearVideoWatermark 删除已添加的视频水印。

直播音视频流回退

本组方法仅适用于声网的互动直播产品。

方法 描述
setLocalPublishFallbackOption 设置弱网条件下发布的音视频流回退选项。
setRemoteSubscribeFallbackOption 设置弱网条件下订阅的音视频流回退选项。

视频双流模式

本组方法适用于声网如下产品:视频通话和互动直播。

方法 描述
enableDualStreamMode 开关视频双流模式。
setRemoteVideoStreamType 设置订阅的视频流类型。
setRemoteDefaultVideoStreamType 设置默认订阅的视频流类型。

加密

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
setEncryptionSecret 启用内置加密,并设置数据加密密钥。
setEncryptionMode 设置内置的加密方案。

直播导入在线媒体流

本组方法仅适用于声网的互动直播产品。

方法 描述
addInjectStreamUrl 导入在线媒体流。
removeInjectStreamUrl 删除导入的在线媒体流。

CDN 旁路推流

本组方法仅适用于声网的互动直播产品。

方法 描述
addPublishStreamUrl 增加旁路推流地址。
removePublishStreamUrl 删除旁路推流地址。
setLiveTranscoding 设置直播转码。

数据流

本组方法适用于声网如下产品:视频通话和互动直播。

方法 描述
createDataStream 创建数据流。
sendStreamMessage 发送数据流。

其他视频控制

本组方法适用于声网如下产品:视频通话和互动直播。

方法 描述
setVideoQualityParameters 设置视频质量偏好选项(仅适用于直播模式)。
setLocalVideoMirrorMode 设置本地视频镜像模式。

屏幕共享

  • N/A

摄像头控制

方法 描述
switchCamera 切换前置/后置摄像头。
isCameraZoomSupported 检测设备是否支持摄像头缩放功能。
isCameraTorchSupported 检测设备是否支持闪光灯常开。
isCameraFocusSupported 检测设备是否支持手动对焦功能。
isCameraExposurePositionSupported 检测设备是否支持手动曝光功能。
isCameraAutoFocusFaceModeSupported 检测设备是否支持人脸对焦功能。
setCameraZoomFactor 设置摄像头缩放比例。
getCameraMaxZoomFactor 获取摄像头支持最大缩放比例。
setCameraFocusPositionInPreview 设置手动对焦位置,并触发对焦。
setCameraExposurePosition 设置手动曝光位置。
setCameraTorchOn 设置是否打开闪光灯。
setCameraAutoFocusFaceModeEnabled 设置是否开启人脸对焦功能。

音视频设备管理

  • N/A

其他方法

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
getCallId 获取通话 ID。
rate 给通话评分。
complain 投诉通话质量。
getSdkVersion 查询 SDK 版本号。
getErrorDescription 获取警告或错误描述。
setLogFile 设置日志文件。
setLogFilter 设置日志输出等级。
getNativeHandle 获取 SDK 引擎的 Native 句柄。
addHandler 添加 IRtcEngineEventHandler 主回调事件。

定制方法

本组方法适用于声网如下产品:语音通话、视频通话和互动直播。

方法 描述
setParameters 通过 JSON 配置 SDK 提供技术预览或特别定制功能。
getParameter 获取 Agora SDK 可供自定义的参数。

IRtcEngineEventHandler 接口类

核心事件回调

回调 描述
onWarning 发生警告回调。
onError 发生错误回调。
onJoinChannelSuccess 加入频道回调。
onRejoinChannelSuccess 重新加入频道回调。
onLeaveChannel 离开频道回调。
onClientRoleChanged 用户角色已切换回调。
onUserJoined 远端用户加入当前频道回调。
onUserOffline 远端用户离开当前频道回调。
onConnectionStateChanged 网络连接状态已改变回调。
onConnectionLost 网络连接丢失回调。
onApiCallExecuted API 方法已执行回调。
onTokenPrivilegeWillExpire Token 服务即将过期回调。
onRequestToken Token 已过期回调。

媒体事件回调

回调 描述
onMicrophoneEnabled 麦克风状态已改变回调。
onAudioVolumeIndication 提示频道内谁正在说话及说话者音量的回调。
onActiveSpeaker 监测到活跃用户回调。
onFirstLocalAudioFrame 已发送本地音频首帧回调。
onFirstRemoteAudioFrame 已接收远端音频首帧回调。
onVideoStopped 视频功能已停止回调。
onFirstLocalVideoFrame 已发送本地视频首帧回调。
onFirstRemoteVideoDecoded 已完成远端视频首帧解码回调。
onFirstRemoteVideoFrame 已显示远端视频首帧回调。
onUserMuteAudio 远端用户静音回调。
onUserMuteVideo 远端用户暂停/重新发送视频流回调。
onUserEnableVideo 远端用户开关视频模块回调。
onUserEnableLocalVideo 远端用户开关本地视频采集回调。
onVideoSizeChanged 本地或远端视频大小或旋转信息发生改变回调。
onRemoteVideoStateChanged 远端用户视频流状态已变化回调。

视频回退事件回调

回调 描述
onLocalPublishFallbackToAudioOnly 本地发布流已回退为音频流或恢复为音视频流回调。
onRemoteSubscribeFallbackToAudioOnly 远端订阅流已回退为音频流或恢复为音视频流回调。

音视频设备事件回调

回调 描述
onAudioRouteChanged 语音路由已改变回调。
onCameraReady 摄像头就绪回调。
onCameraFocusAreaChanged 摄像头对焦区域已改变回调。
onCameraExposureAreaChanged 摄像头曝光区域已改变回调。

数据统计事件回调

回调 描述
onRemoteAudioStats 通话中远端音频流的统计信息回调。
onRtcStats 当前通话统计回调。
onLastmileQuality 本地网络质量报告回调。
onNetworkQuality 网络上下行质量报告回调。
onLocalVideoStats 本地视频流统计信息回调。
onRemoteVideoStats 远端视频流统计信息回调。
onRemoteAudioTransportStats 远端音频传输统计信息回调。
onRemoteVideoTransportStats 远端视频传输统计信息回调。

音频播放事件回调

回调 描述
onAudioMixingFinished 本地音乐文件播放已结束回调。
onAudioEffectFinished 本地音效文件播放已结束回调。

CDN 旁路推流事件回调

回调 描述
onStreamPublished 旁路推流已开启回调。
onStreamUnpublished 旁路推流已停止回调。
onTranscodingUpdated 旁路推流设置已被更新回调。

直播导入在线媒体流回调

回调 描述
onStreamInjectedStatus 导入在线媒体流状态回调。

流消息事件回调

回调 描述
onStreamMessage 接收到对方数据流消息的回调。
onStreamMessageError 接收对方数据流消息发生错误的回调。

原始音频数据事件回调

回调 描述
onRecordFrame 10 ms 自动回调:获得录制的声音。
onPlaybackFrame 10 ms 自动回调:获得播放的声音。

原始视频数据事件回调

  • N/A

其他事件回调

回调 描述
onMediaEngineLoadSuccess 媒体引擎成功加载的回调。
onMediaEngineStartCallSuccess 媒体引擎成功启动的回调。