API 概览
声网通过全球部署的 SD-RTN™,提供可以灵活搭配的 API 组合,实现质量可靠的实时音视频通信。
初始化相关
方法/回调 | 描述 |
---|---|
CreateAgoraRtcEngine | 创建 IRtcEngine 对象。 |
Initialize | 初始化 IRtcEngine。 |
Dispose | 销毁 IRtcEngine 对象。 |
频道相关
方法/回调 | 描述 |
---|---|
SetChannelProfile | 设置频道场景。 |
JoinChannel [2/2] | 设置媒体选项并加入频道。 |
JoinChannelEx | 加入频道。 |
UpdateChannelMediaOptions | 加入频道后更新频道媒体选项。 |
UpdateChannelMediaOptionsEx | 加入频道后更新频道媒体选项 。 |
LeaveChannelEx [1/2] | 离开频道。 |
LeaveChannel [2/2] | 设置频道选项并离开频道。 |
LeaveChannelEx [2/2] | 设置频道选项并离开频道。 |
PreloadChannel | 使用 token、channelId、uid 预加载频道。 |
PreloadChannelWithUserAccount | 使用 token、channelId、userAccount 预加载频道。 |
UpdatePreloadChannelToken | 更新预加载频道的通配 Token。 |
RenewToken | 更新 Token。 |
SetClientRole [2/2] | 设置直播场景下的用户角色和观众端延时级别。 |
OnJoinChannelSuccess | 成功加入频道回调。 |
OnRejoinChannelSuccess | 成功重新加入频道回调。 |
OnClientRoleChanged | 用户角色、观众端延时级别已切换回调。 |
OnClientRoleChangeFailed | 用户角色切换失败回调。 |
OnLeaveChannel | 离开频道回调。 |
OnUserJoined | 远端用户(通信场景)/主播(直播场景)加入当前频道回调。 |
OnUserOffline | 远端用户(通信场景)/主播(直播场景)离开当前频道回调。 |
OnNetworkTypeChanged | 本地网络类型发生改变回调。 |
OnUplinkNetworkInfoUpdated | 上行网络信息变化回调。 |
OnConnectionLost | 网络连接中断,且 SDK 无法在 10 秒内连接服务器回调。 |
OnConnectionStateChanged | 网络连接状态已改变回调。 |
OnRequestToken | Token 已过期回调。 |
OnTokenPrivilegeWillExpire | Token 即将在 30s 内过期回调。 |
OnError | 发生错误回调。 |
发布和订阅
音频基础功能
方法/回调 | 描述 |
---|---|
AdjustUserPlaybackSignalVolume | 调节本地播放的指定远端用户信号音量。 |
AdjustUserPlaybackSignalVolumeEx | 调节本地播放的指定远端用户信号音量。 |
AdjustPlaybackSignalVolume | 调节本地播放的所有远端用户信号音量。 |
EnableAudio | 启用音频模块。 |
DisableAudio | 关闭音频模块。 |
EnableAudioVolumeIndication | 启用用户音量提示。 |
EnableAudioVolumeIndicationEx | 启用用户音量提示。 |
SetAudioScenario | 设置音频场景。 |
OnAudioVolumeIndication | 用户音量提示回调。 |
OnActiveSpeaker | 监测到远端最活跃用户回调。 |
OnLocalAudioStateChanged | 本地音频状态发生改变回调。 |
OnFirstLocalAudioFramePublished | 已发布本地音频首帧回调。 |
OnFirstRemoteAudioFrame | 已接收远端音频首帧回调。 |
OnUserMuteAudio | 远端用户(通信场景)/主播(直播场景)停止或恢复发送音频流回调。 |
OnRemoteAudioStateChanged | 远端音频流状态发生改变回调。 |
OnLocalAudioStats | 通话中本地音频流的统计信息回调。 |
OnRemoteAudioStats | 通话中远端音频流的统计信息回调。 |
音频采集
方法/回调 | 描述 |
---|---|
EnableLocalAudio | 开启或关闭本地音频采集。 |
EnableLoopbackRecording | 开启声卡采集。 |
EnableLoopbackRecordingEx | 开启声卡采集。 |
AdjustRecordingSignalVolume | 调节音频采集信号音量。 |
MuteRecordingSignal | 是否将录音信号静音。 |
EnableInEarMonitoring | 开启耳返功能。 |
SetInEarMonitoringVolume | 设置耳返音量。 |
音频前处理和后处理
方法/回调 | 描述 |
---|---|
EnableVoiceAITuner | 开启或关闭 AI 调音器功能。 |
SetAdvancedAudioOptions | 设置音频的高级选项。 |
SetAINSMode | 设置是否开启 AI 降噪功能并设置降噪模式。 |
SetLocalVoiceEqualization | 设置本地语音音效均衡。 |
SetLocalVoicePitch | 设置本地语音音调。 |
SetLocalVoiceReverb | 设置本地音效混响。 |
SetVoiceBeautifierPreset | 设置预设的美声效果。 |
SetVoiceBeautifierParameters | 设置预设美声效果的参数。 |
SetAudioEffectPreset | 设置 SDK 预设的人声音效。 |
SetAudioEffectParameters | 设置 SDK 预设人声音效的参数。 |
SetVoiceConversionPreset | 设置预设的变声效果。 |
SetLocalVoiceFormant | 设置共振峰比率以改变语音的音色。 |
EnableSoundPositionIndication | 开启/关闭远端用户的语音立体声。 |
SetRemoteVoicePosition | 设置远端用户声音的 2D 位置,即水平面位置。 |
SetRemoteVoicePositionEx | 设置远端用户声音的 2D 位置,即水平面位置。 |
GetLocalSpatialAudioEngine | 获取 ILocalSpatialAudioEngine 对象。 |
Initialize | 初始化 ILocalSpatialAudioEngine。 |
Dispose | 销毁 ILocalSpatialAudioEngine。 |
UpdateSelfPosition | 更新本地用户的空间位置。 |
UpdateRemotePosition | 更新远端用户的空间位置信息。 |
RemoveRemotePosition | 删除指定远端用户的空间位置信息。 |
ClearRemotePositions | 删除所有远端用户的空间位置信息。 |
SetHeadphoneEQParameters | 设置耳机均衡器的低频和高频参数。 |
SetHeadphoneEQPreset | 设置预设的耳机均衡效果。 |
原始音频数据
方法/回调 | 描述 |
---|---|
RegisterAudioFrameObserver | 注册音频观测器对象。 |
UnRegisterAudioFrameObserver | 取消注册音频帧观测器。 |
SetEarMonitoringAudioFrameParameters | 设置耳返的音频数据格式。 |
SetRecordingAudioFrameParameters | 设置采集的原始音频数据格式。 |
SetPlaybackAudioFrameParameters | 设置播放的原始音频数据格式。 |
SetMixedAudioFrameParameters | 设置采集和播放音频混音后的原始音频数据格式。 |
SetPlaybackAudioFrameBeforeMixingParameters | 设置混音前的原始音频播放数据格式。 |
OnEarMonitoringAudioFrame | 获得耳返的原始音频数据。 |
OnRecordAudioFrame | 获得采集的原始音频数据。 |
OnPlaybackAudioFrame | 获得播放的原始音频数据。 |
OnPlaybackAudioFrameBeforeMixing | 获取所订阅的远端用户混音前的声音。 |
OnMixedAudioFrame | 获取采集和播放音频混音后的数据。 |
已编码音频数据
方法/回调 | 描述 |
---|---|
RegisterAudioEncodedFrameObserver | 注册音频编码数据观测器。 |
UnRegisterAudioEncodedFrameObserver | 取消注册音频编码数据观测器。 |
OnRecordAudioEncodedFrame | 获取本地用户的音频编码数据。 |
OnPlaybackAudioEncodedFrame | 获取所有远端用户的音频编码数据。 |
OnMixedAudioEncodedFrame | 获取本地和所有远端用户混音后的音频编码数据。 |
自定义音频采集和渲染
方法/回调 | 描述 |
---|---|
CreateCustomAudioTrack | 创建一个自定义音频采集轨道。 |
DestroyCustomAudioTrack | 销毁指定的音频轨道。 |
SetExternalAudioSink | 设置外部音频渲染。 |
PullAudioFrame | 拉取远端音频数据。 |
PushAudioFrame | 推送外部音频帧。 |
AdjustCustomAudioPlayoutVolume | 调节自定义音频采集轨道在本地播放的音量。 |
AdjustCustomAudioPublishVolume | 调节自定义音频采集轨道在远端播放的音量。 |
EnableCustomAudioLocalPlayback | 设置是否在本地播放外部音频源。 |
音频频谱
方法/回调 | 描述 |
---|---|
RegisterAudioSpectrumObserver | 注册音频频谱观测器。 |
EnableAudioSpectrumMonitor | 开启音频频谱监测。 |
DisableAudioSpectrumMonitor | 关闭音频频谱监测。 |
UnregisterAudioSpectrumObserver | 取消注册音频频谱观测器。 |
OnLocalAudioSpectrum | 获取本地音频频谱。 |
OnRemoteAudioSpectrum | 获取远端音频频谱。 |
视频基础功能
方法/回调 | 描述 |
---|---|
EnableVideo | 启用视频模块。 |
DisableVideo | 关闭视频模块。 |
SetVideoScenario | 设置视频业务场景。 |
SetVideoEncoderConfiguration | 设置视频编码属性。 |
SetVideoEncoderConfigurationEx | 设置视频编码属性。 |
StartPreview [2/2] | 开启视频预览并指定预览的视频源。 |
StopPreview [2/2] | 停止视频预览。 |
OnLocalVideoStateChanged | 本地视频状态发生改变回调。 |
OnLocalVideoStats | 本地视频流统计信息回调。 |
OnFirstLocalVideoFramePublished | 已发布本地视频首帧回调。 |
OnVideoPublishStateChanged | 视频发布状态改变回调。 |
OnVideoSizeChanged | 本地或远端视频大小和旋转信息发生改变回调。 |
OnRemoteVideoStateChanged | 远端视频状态发生改变回调。 |
OnRemoteVideoStats | 通话中远端视频流的统计信息回调。 |
OnFirstLocalVideoFrame | 已显示本地视频首帧回调。 |
OnFirstRemoteVideoFrame | 渲染器已接收首帧远端视频回调。 |
OnFirstRemoteVideoDecoded | 已接收到远端视频并完成解码回调。 |
OnUserMuteVideo | 远端用户取消或恢复发布视频流回调。 |
OnUserEnableVideo | 远端用户开/关视频模块回调。 |
视频采集
方法/回调 | 描述 |
---|---|
EnableLocalVideo | 开关本地视频采集。 |
StartCameraCapture | 开始通过摄像头采集视频。 |
StopCameraCapture | 停止通过摄像头采集视频。 |
视频前处理和后处理
方法/回调 | 描述 |
---|---|
EnableContentInspect | 开启/关闭本地截图上传。 |
TakeSnapshot | 获取视频截图。 |
TakeSnapshotEx | 使用连接 ID 获取视频截图。 |
EnableVirtualBackground | 开启/关闭虚拟背景。 |
EnableVideoImageSource | 设置是否开启垫片推流功能。 |
SetBeautyEffectOptions | 设置美颜效果选项。 |
SetColorEnhanceOptions | 设置色彩增强功能。 |
SetLowlightEnhanceOptions | 设置暗光增强功能。 |
SetVideoDenoiserOptions | 设置视频降噪功能。 |
EnableFaceDetection | 开启/关闭本地人脸检测。 |
OnFacePositionChanged | 报告本地人脸检测结果。 |
IsCameraCenterStageSupported | 查询摄像头是否支持人像锁定。 |
EnableCameraCenterStage | 开启或关闭人像锁定功能。 |
OnSnapshotTaken | 视频截图结果回调。 |
AddVideoWatermark [2/2] | 添加本地视频水印。 |
AddVideoWatermarkEx | 添加本地视频水印。 |
ClearVideoWatermarks | 删除已添加的视频水印。 |
ClearVideoWatermarkEx | 删除已添加的视频水印。 |
视频编码功能
方法/回调 | 描述 |
---|---|
SetRemoteVideoStreamType | 设置订阅的视频流类型。 |
SetRemoteVideoStreamTypeEx | 设置订阅的视频流类型。 |
SetRemoteDefaultVideoStreamType | 设置默认订阅的视频流类型。 |
SetDualStreamMode [2/2] | 在发送端设置双流模式并设置视频小流。 |
SetDualStreamModeEx | 在发送端设置双流模式。 |
StartLocalVideoTranscoder | 开启本地合图。 |
StopLocalVideoTranscoder | 停止本地合图。 |
UpdateLocalTranscoderConfiguration | 更新本地合图配置。 |
OnLocalVideoTranscoderError | 本地合图发生错误回调。 |
视频渲染
方法/回调 | 描述 |
---|---|
SetRenderMode | 设置播放器视图的渲染模式。 |
SetLocalRenderMode [2/2] | 更新本地视图显示模式。 |
SetRemoteRenderMode | 更新远端视图显示模式。 |
SetView | 设置播放器渲染视图。 |
EnableInstantMediaRendering | 开启音视频帧加速渲染。 |
StartMediaRenderingTracing | 开启视频帧渲染数据打点。 |
StartMediaRenderingTracingEx | 开启视频帧渲染数据打点。 |
OnVideoRenderingTracingResult | 视频帧渲染事件回调。 |
原始视频数据
方法/回调 | 描述 |
---|---|
RegisterVideoFrameObserver | 注册原始视频观测器对象。 |
OnCaptureVideoFrame | 获取本地设备采集到的视频数据。 |
OnPreEncodeVideoFrame | 获取本地视频编码前的视频数据。 |
OnRenderVideoFrame | 获取远端发送的视频数据。 |
已编码视频数据
方法/回调 | 描述 |
---|---|
RegisterVideoEncodedFrameObserver | 为编码后的视频图像注册视频帧接收观测器。 |
UnregisterVideoEncodedFrameObserver | 为编码后的视频图像取消注册视频帧接收观测器。 |
OnEncodedVideoFrameReceived | 报告接收端已收到远端发送的待解码视频帧。 |
自定义视频采集和渲染
方法/回调 | 描述 |
---|---|
CreateCustomVideoTrack | 创建一个自定义的视频轨道。 |
DestroyCustomVideoTrack | 销毁指定的视频轨道。 |
SetExternalVideoSource | 设置外部视频源。 |
PushVideoFrame | 将外部原始视频帧通过自定义视频轨道发布到频道中。 |
音乐文件播放
方法/回调 | 描述 |
---|---|
StartAudioMixing [2/2] | 开始播放音乐文件。 |
StopAudioMixing | 停止播放音乐文件。 |
PauseAudioMixing | 暂停播放音乐文件。 |
ResumeAudioMixing | 恢复播放音乐文件。 |
AdjustAudioMixingVolume | 调节音乐文件的播放音量。 |
AdjustAudioMixingPlayoutVolume | 调节音乐文件在本地播放的音量。 |
AdjustAudioMixingPublishVolume | 调节音乐文件远端播放音量。 |
GetAudioMixingPlayoutVolume | 获取音乐文件的本地播放音量。 |
GetAudioMixingPublishVolume | 获取音乐文件的远端播放音量。 |
SetAudioMixingPlaybackSpeed | 设置当前音乐文件的播放速度。 |
GetAudioMixingDuration | 获取音乐文件总时长。 |
GetAudioMixingCurrentPosition | 获取音乐文件的播放进度。 |
SetAudioMixingPitch | 调整本地播放的音乐文件的音调。 |
SetAudioMixingPosition | 设置音乐文件的播放位置。 |
SetAudioMixingDualMonoMode | 设置当前音频文件的声道模式。 |
GetAudioTrackCount | 获取当前音乐文件的音轨索引。 |
SelectAudioTrack [1/2] | 指定当前音乐文件的播放音轨。 |
SelectMultiAudioTrack | 选择本地播放和发送至远端的音轨。 |
OnAudioMixingStateChanged | 音乐文件的播放状态已改变回调。 |
OnAudioMixingPositionChanged | 音乐文件播放进度回调。 |
音效文件播放
方法/回调 | 描述 |
---|---|
GetEffectsVolume | 获取音效文件的播放音量。 |
SetEffectsVolume | 设置音效文件的播放音量。 |
GetVolumeOfEffect | 获取指定音效文件的播放音量。 |
SetVolumeOfEffect | 设置指定音效文件的播放音量。 |
PreloadEffect | 将音效文件加载至内存。 |
PlayEffect | 播放指定的本地或在线音效文件。 |
PlayAllEffects | 播放所有音效文件。 |
PauseEffect | 暂停音效文件播放。 |
PauseAllEffects | 暂停所有音效文件播放。 |
ResumeEffect | 恢复播放指定音效文件。 |
ResumeAllEffects | 恢复播放所有音效文件。 |
StopEffect | 停止播放指定音效文件。 |
StopAllEffects | 停止播放所有音效文件。 |
UnloadEffect | 从内存释放某个预加载的音效文件。 |
UnloadAllEffects | 从内存释放所有预加载音效文件。 |
GetEffectDuration | 获取指定音效文件总时长。 |
GetEffectCurrentPosition | 获取指定音效文件的播放进度。 |
SetEffectPosition | 设置指定音效文件的播放位置。 |
OnAudioEffectFinished | 本地音效文件播放已结束回调。 |
虚拟节拍器
方法/回调 | 描述 |
---|---|
StartRhythmPlayer | 开启虚拟节拍器。 |
StopRhythmPlayer | 关闭虚拟节拍器。 |
ConfigRhythmPlayer | 配置虚拟节拍器。 |
OnRhythmPlayerStateChanged | 虚拟节拍器状态发生改变回调。 |
媒体播放器
更多有关媒体播放器的方法,详见内置媒体播放器。
方法/回调 | 描述 |
---|---|
CreateMediaPlayer | 创建媒体播放器对象。 |
GetMediaPlayerCacheManager | 获取 IMediaPlayerCacheManager 实例。 |
IMediaPlayer | 提供媒体播放器功能的类,支持多实例。 |
IMediaPlayerCacheManager | 该类提供管理媒体播放器中缓存媒体文件的方法。 |
IMediaPlayerSourceObserver | 提供媒体播放器的回调。 |
媒体播放器缓存
方法/回调 | 描述 |
---|---|
EnableAutoRemoveCache | 设置是否开启自动清除缓存文件功能。 |
RemoveAllCaches | 删除媒体播放器中所有已缓存的媒体文件。 |
RemoveCacheByUri | 删除指定的已缓存媒体文件。 |
RemoveOldCache | 删除媒体播放器中近期最少使用的一个缓存媒体文件。 |
SetCacheDir | 设置待缓存的媒体文件的储存路径。 |
SetMaxCacheFileCount | 设置缓存媒体文件数量的上限。 |
SetMaxCacheFileSize | 设置缓存媒体文件的总缓存大小的上限。 |
GetCacheDir | 获取缓存文件的储存路径。 |
GetCacheFileCount | 获取当前已缓存的媒体文件的总数量。 |
GetMaxCacheFileCount | 获取所设置的缓存文件数量上限。 |
GetMaxCacheFileSize | 获取所设置的缓存文件总缓存的上限。 |
OnPlayerCacheStats | 报告当前缓存中的媒体资源的相关信息。 |
音视频录制
方法/回调 | 描述 |
---|---|
CreateMediaRecorder | 创建音视频录制对象。 |
SetMediaRecorderObserver | 注册 IMediaRecorderObserver 观测器。 |
StartRecording | 开启音视频流录制。 |
StopRecording | 停止音视频流录制。 |
StartAudioRecording [1/3] | 开始客户端录音。 |
StartAudioRecording [2/3] | 开始客户端录音并设置录音采样率。 |
StartAudioRecording [3/3] | 开始客户端录音并进行录音配置。 |
StopAudioRecording | 停止客户端录音。 |
DestroyMediaRecorder | 销毁音视频录制对象。 |
OnRecorderStateChanged | 录制状态发生改变回调。 |
OnRecorderInfoUpdated | 录制信息更新回调。 |
跨频道媒体流转发
方法/回调 | 描述 |
---|---|
StartOrUpdateChannelMediaRelay | 开始或更新跨频道媒体流转发。 |
StartOrUpdateChannelMediaRelayEx | 开始或更新跨频道媒体流转发。 |
StopChannelMediaRelay | 停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。 |
StopChannelMediaRelayEx | 停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。 |
PauseAllChannelMediaRelay | 暂停向所有目标频道转发媒体流。 |
PauseAllChannelMediaRelayEx | 暂停向所有目标频道转发媒体流。 |
ResumeAllChannelMediaRelay | 恢复向所有目标频道转发媒体流。 |
ResumeAllChannelMediaRelayEx | 恢复向所有目标频道转发媒体流。 |
OnChannelMediaRelayStateChanged | 跨频道媒体流转发状态发生改变回调。 |
旁路推流
方法/回调 | 描述 |
---|---|
StartRtmpStreamWithoutTranscoding | 开始非转码推流。 |
StartRtmpStreamWithoutTranscodingEx | 开始非转码推流。 |
StartRtmpStreamWithTranscoding | 开始旁路推流并设置转码属性。 |
StartRtmpStreamWithTranscodingEx | 开始旁路推流并设置转码属性。 |
UpdateRtmpTranscoding | 更新旁路推流转码属性。 |
UpdateRtmpTranscodingEx | 更新旁路推流转码属性。 |
StopRtmpStream | 结束旁路推流。 |
StopRtmpStreamEx | 结束旁路推流。 |
OnRtmpStreamingEvent | 旁路推流事件回调。 |
OnRtmpStreamingStateChanged | 旁路推流状态发生改变回调。 |
OnTranscodingUpdated | 旁路推流转码设置已被更新回调。 |
直推 CDN
方法/回调 | 描述 |
---|---|
StartDirectCdnStreaming | 设置主播端开始直接向 CDN 推流。 |
StopDirectCdnStreaming | 设置主播端停止直接向 CDN 推流。 |
SetDirectCdnStreamingAudioConfiguration | 设置主播端直接向 CDN 推流时的音频编码属性。 |
SetDirectCdnStreamingVideoConfiguration | 设置主播端直接向 CDN 推流时的视频编码属性。 |
OnDirectCdnStreamingStateChanged | CDN 推流状态改变回调。 |
OnDirectCdnStreamingStats | CDN 推流统计数据回调。 |
数据流
方法/回调 | 描述 |
---|---|
CreateDataStream [1/2] | 创建数据流。 |
CreateDataStream [2/2] | 创建数据流。 |
CreateDataStreamEx [2/2] | 创建数据流。 |
SendStreamMessage | 发送数据流。 |
OnStreamMessage | 接收到对方数据流消息的回调。 |
OnStreamMessageError | 接收对方数据流消息发生错误的回调。 |
Metadata (SEI)
方法/回调 | 描述 |
---|---|
RegisterMediaMetadataObserver | 注册媒体 metadata 观测器用于接收或发送 metadata。 |
UnregisterMediaMetadataObserver | 取消注册媒体 metadata 观测器。 |
OnMetaData | 报告已获取媒体附属信息。 |
OnMetadataReceived | 接收端已收到 metadata。 |
插件相关
方法/回调 | 描述 |
---|---|
LoadExtensionProvider | 加载插件。 |
RegisterExtension | 注册插件。 |
EnableExtension | 启用/禁用插件。 |
GetExtensionProperty | 获取插件的详细信息。 |
SetExtensionProperty | 设置插件的属性。 |
SetExtensionProviderProperty | 设置插件服务商的属性。 |
OnExtensionStartedWithContext | 插件已启用成功回调。 |
OnExtensionStoppedWithContext | 插件已禁用回调。 |
OnExtensionEventWithContext | 插件事件回调。 |