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

自 v2.3.3 开始,Agora Java API Reference for Android 可以在 Dash 平台下载。

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 设置是否默认接收视频流

视频前处理及后处理

方法 描述
setBeautyEffectOptions 设置美颜效果选项

音频播放路由

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

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

耳返设置

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

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

语音音效设置

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

方法 描述
setLocalVoicePitch 设置本地语音音调
setLocalVoiceEqualization 设置本地语音音效均衡
setLocalVoiceReverb 设置本地音效混响
setLocalVoiceChanger 设置本地语音变声
setLocalVoiceReverbPreset 设置预设的本地语音混响效果
enableSoundPositionIndication 开启/关闭远端用户的语音立体声
setRemoteVoicePosition 设置远端用户的语音位置

音乐文件播放及混音设置

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

方法 描述
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 关闭网络测试
startLastmileProbeTest 开始通话前网络质量探测
stopLastmileProbeTest 停止通话前网络质量探测

自定义视频模块

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

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

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

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

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

音频自渲染

  • N/A

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

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

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

原始音频数据处理

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

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

原始视频数据处理

  • N/A

直播视频水印

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

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

直播音视频流回退

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

方法 描述
setRemoteUserPriority 设置用户媒体流优先级
setLocalPublishFallbackOption 设置弱网条件下发布的音视频流回退选项
setRemoteSubscribeFallbackOption 设置弱网条件下订阅的音视频流回退选项

视频双流模式

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

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

加密

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

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

直播导入在线媒体流

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

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

CDN 旁路推流

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

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

数据流

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

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

其他视频控制

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

方法 描述
setLocalVideoMirrorMode 设置本地视频镜像模式
setCameraCapturerConfiguration 设置摄像头的采集偏好

屏幕共享

  • 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 设置日志输出等级
setLogFileSize 设置日志文件大小
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 本地网络质量报告回调
onLastmileProbeResult 本地网络上下行 Last-mile 质量报告回调
onNetworkQuality 网络上下行质量报告回调
onLocalVideoStats 本地视频流统计信息回调
onRemoteVideoStats 远端视频流统计信息回调
onRemoteAudioTransportStats 远端音频传输统计信息回调
onRemoteVideoTransportStats 远端视频传输统计信息回调

音频播放事件回调

回调 描述
onAudioMixingStateChanged 本地用户的音乐文件播放状态已改变回调
onAudioMixingFinished 本地音乐文件播放已结束回调
onAudioEffectFinished 本地音效文件播放已结束回调

CDN 旁路推流事件回调

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

直播导入在线媒体流回调

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

流消息事件回调

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

原始音频数据事件回调

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

原始视频数据事件回调

  • N/A

其他事件回调

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