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

自 v2.3.3 开始,Agora C++ API Reference for All Platforms 可以在 Dash 平台下载。

方法

核心方法

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

方法 描述
createAgoraRtcEngine 创建 RTC 引擎对象并返回指针。
initialize 初始化 Agora SDK 服务。
release 销毁 IRtcEngine 对象。
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 设置远端视图显示模式。
startPreview 开启视频预览。
stopPreview 停止视频预览。
enableLocalVideo 开关本地视频采集。
muteLocalVideoStream 开关本地视频发送。
muteRemoteVideoStream 停止/接收指定远端用户的视频流。
muteAllRemoteVideoStreams 接收/停止接收所有远端视频流。
setDefaultMuteAllRemoteVideoStreams 设置是否默认停止接收视频流。

视频前处理及后处理

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

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

耳返设置

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

方法 描述
setInEarMonitoringVolume 设置耳返音量。

语音音效设置

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

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

音乐文件播放及混音设置

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

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

音效文件播放管理

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

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

音频录制

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

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

开启声卡采集

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

方法 描述
enableLoopbackRecording 开启声卡采集。

网络相关测试

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

方法 描述
startEchoTest 开始语音通话回路测试。
stopEchoTest 停止语音直播回路测试。
enableLastmileTest 启动网络测试。
disableLastmileTest 关闭网络测试。
startLastmileProbeTest 通话前网络上下行 last mile 质量报告回调。
stopLastmileProbeTest 停止通话前网络质量探测。

自定义视频模块

  • N/A

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

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

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

音频自渲染(仅适用于 Pull 模式)

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

Method Description
setExternalAudioSink 设置外部音频渲染。
pullAudioFrame 主动拉取外部音频帧。

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

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

Method Description
setExternalVideoSource 配置外部视频源。
pushVideoFrame 推送外部视频帧。

原始音频数据处理

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

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

原始视频数据处理

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

方法 描述
registerVideoFrameObserver 注册视频观测器对象。

直播视频水印

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

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

直播音视频流回退

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

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

视频双流模式

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

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

加密

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

方法 描述
setEncryptionSecret 启用内置加密,并设置数据加密密钥。
setEncryptionMode 设置内置的加密方案。
registerPacketObserver 注册数据包观测器。

直播导入在线媒体流

本组方法仅适用于声网的音频互动直播以及视频互动直播产品。

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

CDN 旁路推流

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

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

数据流

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

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

其他视频控制

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

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

屏幕共享

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

方法 描述
startScreenCaptureByDisplayId 通过屏幕 ID 共享屏幕。
startScreenCaptureByWindowId 通过窗口 ID 共享窗口。
startScreenCaptureByScreenRect 通过指定区域共享屏幕。
setScreenCaptureContentHint 设置屏幕共享内容类型。
stopScreenCapture 停止屏幕共享。
updateScreenCaptureRegion 更新屏幕共享区域。
updateScreenCaptureParameters 更新屏幕共享的编码参数配置。
updateScreenCaptureRegion 更新屏幕共享区域。

音视频设备管理

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

方法 描述
enumerateVideoDevices 获取系统中所有的视频设备列表。
startDeviceTest 启动视频采集设备测试。
stopDeviceTest 停止视频采集设备测试。
getCount 获取系统中被索引的视频采集或播放设备的总数。
getDevice 获取某个被索引的视频采集设备的指定信息。
setDevice 指定设备。
enumeratePlaybackDevices 获取系统中所有的播放设备。
enumerateRecordingDevices 获取系统中所有的录音设备。
setPlaybackDevice 指定播放设备。
setRecordingDevice 指定录音设备。
startPlaybackDeviceTest 启动播放设备测试。
stopPlaybackDeviceTest 停止播放设备测试。
setPlaybackDeviceVolume 设置播放设备音量。
getPlaybackDeviceVolume 获取播放设备音量。
setRecordingDeviceVolume 设置录音设备音量。
getRecordingDeviceVolume 获取录音设备音量。
setPlaybackDeviceMute 静音播放设备。
getPlaybackDeviceMute 获取播放设备静音状态。
setRecordingDeviceMute 静音录音设备。
getRecordingDeviceMute 获取录音设备静音状态。
startRecordingDeviceTest 启动录音设备测试。
stopRecordingDeviceTest 停止录音设备测试。
startAudioDeviceLoopbackTest 开始音频设备回路测试。
stopAudioDeviceLoopbackTest 停止音频设备回路测试。
onVideoDeviceStateChanged 视频设备变化回调。

其他方法

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

方法 描述
getCallId 获取通话 ID。
rate 给通话评分。
complain 投诉通话质量。
getVersion 查询 SDK 版本号。
getErrorDescription 获取警告或错误描述。
setLogFile 设置日志文件。
setLogFilter 设置日志输出等级。
setLogFileSize 设置日志文件大小。

定制方法

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

方法 描述
setParameters 通过 JSON 配置 SDK 提供技术预览或特别定制功能。

回调

核心事件回调

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

媒体事件回调

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

视频回退事件回调

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

音视频设备事件回调

回调 描述
onAudioDeviceStateChanged 音频设备变化回调。
onAudioDeviceVolumeChanged 回放、录音设备或应用程序的音量已改变。
onCameraReady 摄像头就绪回调。
onCameraFocusAreaChanged 相机对焦区域已改变回调。

数据统计事件回调

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

音频播放事件回调

回调 描述
onAudioMixingFinished 本地音乐文件播放已结束回调。
onRemoteAudioMixingBegin 远端音乐文件播放已开始回调。
onRemoteAudioMixingEnd 远端音乐文件播放已结束回调。
onAudioEffectFinished 本地音效文件播放已结束回调。
onAudioMixingStateChanged 本地用户的音乐文件播放状态改变回调。

CDN 旁路推流事件回调

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

直播导入在线媒体流回调

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

流消息事件回调

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

原始音频数据事件回调

回调 描述
onRecordAudioFrame 10 ms 自动回调:获得录制的声音。
onPlaybackAudioFrame 10 ms 自动回调:获得播放的声音。
onPlaybackAudioFrameBeforeMixing 10 ms 自动回调:获得混音前的指定用户的声音。
onMixedAudioFrame 10 ms 自动回调:获取录制和播放语音混音后的数据。

原始视频数据事件回调

回调 描述
onCaptureVideoFrame 获得采集的视频。
onRenderVideoFrame 获得其他用户的视频。

其他事件回调

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