API 概览

  • macOS

更新时间不可用

声网通过全球部署的 SD-RTN™,提供可以灵活搭配的 API 组合,实现质量可靠的实时音视频通信。

初始化相关

API描述
sharedEngineWithAppId:delegate:创建并初始化 AgoraRtcEngineKit 实例。
sharedEngineWithConfig:delegate:创建并初始化 AgoraRtcEngineKit 实例。
destroy:销毁 AgoraRtcEngineKit 实例并释放相关资源。
destroy释放 AgoraRtcEngineKit 实例。
表格内容超出当前宽度,可横向滚动查看更多列。

频道相关

API描述
setChannelProfile:设置频道场景。
joinChannelByToken:channelId:info:uid:joinSuccess:加入一个频道。
joinChannelByToken:channelId:uid:mediaOptions:joinSuccess:加入频道并设置媒体选项。
joinChannelExByToken:connection:delegate:mediaOptions:joinSuccess:使用 token 加入频道并设置媒体选项。
updateChannelWithMediaOptions:加入频道后更新频道媒体选项。
updateChannelExWithMediaOptions:connection:加入频道后更新频道媒体选项。
leaveChannel:离开频道并释放资源。
leaveChannel:leaveChannelBlock:设置频道选项并离开频道。
leaveChannelEx:leaveChannelBlock:离开频道并释放与会话相关的所有资源。
leaveChannelEx:options:leaveChannelBlock:设置频道选项并离开频道。
preloadChannelByToken:channelId:uid:预加载指定频道。
updatePreloadChannelToken:更新预加载频道的通配 Token。
renewToken:更新 Token。
setClientRole:设置用户角色。
setClientRole:options:设置直播场景中的用户角色和观众延迟等级。
delegate设置并获取 AgoraRtcEngineDelegate。
getUserInfoByUidEx:connection:withError:通过传入用户 ID 获取用户信息。
rtcEngine:didClientRoleChanged:newRole:newRoleOptions:用户角色或观众延迟等级发生变化时触发的回调。
rtcEngine:didClientRoleChangeFailed:currentRole:当切换用户角色失败时触发的回调。
rtcEngine:didOccurError:报告 SDK 运行时发生的错误回调。
rtcEngine:didJoinChannel:withUid:elapsed:本地用户成功加入频道回调。
rtcEngine:didLeaveChannelWithStats:用户离开频道时的回调。
rtcEngine:didRejoinChannel:withUid:elapsed:rtcEngine:didRejoinChannel:withUid:elapsed: 回调。当用户重新加入频道时触发。
rtcEngine:renewTokenResult:code:renewToken: 方法调用结果的回调。
rtcEngineRequestToken:当 Token 过期时触发的回调。
rtcEngine:reportRtcStats:报告当前通话的统计信息。
rtcEngine:tokenPrivilegeWillExpire:当 Token 在 30 秒后过期时触发的回调。
rtcEngine:didJoinedOfUid:elapsed:远端用户或主播加入频道回调。
rtcEngine:didOfflineOfUid:reason:远端用户或主播离开频道时的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

发布和订阅

API描述
muteAllRemoteAudioStreams:停止或恢复订阅所有远端用户的音频流。
muteAllRemoteAudioStreamsEx:connection:停止或恢复订阅所有远端用户的音频流。
muteAllRemoteVideoStreams:停止或恢复订阅所有远端用户的视频流。
muteAllRemoteVideoStreamsEx:connection:停止或恢复订阅所有远端用户的视频流。
muteLocalAudioStream:停止或恢复发布本地音频流。
muteLocalAudioStreamEx:connection:停止或恢复发布本地音频流。
muteLocalVideoStream:控制是否发布本地采集的视频流。
muteLocalVideoStreamEx:connection:停止或恢复发布本地视频流。
muteRemoteAudioStream:mute:停止或恢复订阅指定用户的音频流。
muteRemoteAudioStreamEx:mute:connection:停止或恢复接收指定用户的音频流。
muteRemoteVideoStream:mute:停止或恢复订阅指定用户的视频流。
muteRemoteVideoStreamEx:mute:connection:停止或恢复接收指定用户的视频流。
setDualStreamMode:设置发送端的不同质量层级的视频流模式。
setDualStreamMode:streamConfig:设置发送端的不同质量层级的视频流模式配置。
setDualStreamModeEx:streamConfig:connection:设置发送端的不同质量层级的视频流模式。
setRemoteDefaultVideoStreamType:设置默认订阅的视频流类型。
setRemoteVideoStream:type:设置你要订阅的视频流类型。
setRemoteVideoStreamEx:type:connection:设置你要订阅的视频流类型。
setRemoteVideoSubscriptionOptions:options:设置订阅远端视频流的选项。
setRemoteVideoSubscriptionOptionsEx:options:connection:设置订阅远端视频流的选项。
setSubscribeAudioAllowlist:设置音频流订阅的白名单。
setSubscribeAudioAllowlistEx:connection:设置音频流订阅的白名单。
setSubscribeAudioBlocklist:设置音频流订阅的黑名单。
setSubscribeAudioBlocklistEx:connection:设置音频流订阅的黑名单。
setSubscribeVideoAllowlist:设置视频流订阅的白名单。
setSubscribeVideoAllowlistEx:connection:设置视频流订阅的白名单。
setSubscribeVideoBlocklist:设置不订阅的视频流用户的 blocklist。
setSubscribeVideoBlocklistEx:connection:设置视频流订阅的阻止名单。
rtcEngine:didAudioPublishStateChange:oldState:newState:elapseSinceLastState:音频发布状态发生变化回调。
rtcEngine:didAudioSubscribeStateChange:uid:oldState:newState:elapseSinceLastState:音频订阅状态发生变化回调。
rtcEngine:didVideoSubscribeStateChange:uid:oldState:newState:elapseSinceLastState:远端视频订阅状态发生变化回调。
表格内容超出当前宽度,可横向滚动查看更多列。

音频基础功能

API描述
adjustPlaybackSignalVolume:调节所有远端用户的播放信号音量。
adjustUserPlaybackSignalVolume:volume:调整指定远端用户的播放音量。
adjustUserPlaybackSignalVolumeEx:volume:connection:调节指定远端用户的播放信号音量。
disableAudio禁用音频模块。
enableAudio启用音频模块。
enableAudioVolumeIndication:smooth:reportVad:启用用户音量提示的上报功能。
enableAudioVolumeIndicationEx:smooth:reportVad:connection:启用用户音量提示的上报功能。
setAudioProfile:设置音频配置。
setAudioScenario:设置音频场景。
rtcEngine:activeSpeaker:检测到最活跃的远端说话人时触发的回调。
rtcEngine:reportAudioVolumeIndicationOfSpeakers:totalVolume:报告用户音量信息的回调。
rtcEngine:firstLocalAudioFramePublished:本地音频首帧发布回调。
rtcEngine:firstRemoteAudioFrameOfUid:elapsed:远端用户的第一帧音频被接收并解码时触发。
rtcEngine:localAudioStateChanged:reason:本地音频流状态发生变化时的回调。
rtcEngine:localAudioStats:上报本地音频流的统计信息。
rtcEngine:remoteAudioStateChangedOfUid:state:reason:elapsed:远端音频状态发生变化回调。
rtcEngine:remoteAudioStats:上报每个远端音频流的传输层统计信息。
rtcEngine:didAudioMuted:byUid:当远端用户或主播停止或恢复发送音频流时触发。
表格内容超出当前宽度,可横向滚动查看更多列。

音频采集

API描述
adjustLoopbackSignalVolume:调节声卡采集信号的音量。
adjustRecordingSignalVolume:调节采集音量。
enableInEarMonitoring:启用或关闭耳返监听功能。
enableInEarMonitoring:includeAudioFilters:启用或关闭耳返监听功能。
enableLocalAudio:启用或关闭本地音频采集功能。
enableLoopbackRecording:deviceName:启用声卡回采功能。
enableLoopbackRecordingEx:deviceName:connection:启用回环音频采集。
muteRecordingSignal:设置是否静音录制信号。
setInEarMonitoringVolume:设置耳返音量。
表格内容超出当前宽度,可横向滚动查看更多列。

人声音效

API描述
enableVoiceAITuner:type:启用或关闭语音 AI 调音器。
setAdvancedAudioOptions:设置音频高级选项。
setAINSMode:mode:设置是否启用 AI 降噪功能并设置降噪模式。
setAudioEffectParameters:param1:param2:设置 SDK 预设音效的参数。
setAudioEffectPreset:设置 SDK 预设的音效效果。
setLocalVoiceEqualizationOfBandFrequency:withGain:设置本地语音的均衡效果。
setLocalVoiceFormant:设置共振峰比例以改变人声音色。
setLocalVoicePitch:改变本地语音的音调。
setLocalVoiceReverbOfType:withValue:设置本地语音的混响效果。
setVoiceBeautifierParameters:param1:param2:设置预设美声特效的参数。
setVoiceBeautifierPreset:设置预设的美声特效。
setVoiceConversionPreset:设置预设的变声效果。
表格内容超出当前宽度,可横向滚动查看更多列。

听声辨位

API描述
enableSoundPositionIndication:启用或关闭远端用户的立体声声像功能。
setRemoteVoicePosition:pan:gain:设置远端用户语音的二维位置和音量。
setRemoteVoicePositionEx:pan:gain:connection:设置远端用户语音的二维位置和音量。
表格内容超出当前宽度,可横向滚动查看更多列。

空间音频

API描述
sharedLocalSpatialAudioWithConfig:初始化 AgoraLocalSpatialAudioKit 实例。
clearRemotePositions:移除所有远端用户的空间位置。
enableSpatialAudio:启用或关闭空间音效。
muteAllRemoteAudioStreams:停止或恢复订阅所有远端用户的音频流。
muteLocalAudioStream:停止或恢复发布本地音频流。
muteRemoteAudioStream:mute:停止或恢复订阅指定用户的音频流。
destroy销毁 AgoraLocalSpatialAudioKit 实例。
removeRemotePosition:移除指定远端用户的空间位置。
setAudioRecvRange:设置你可接收的音频范围。
setDistanceUnit:设置游戏引擎中每个单位距离对应的米数。
setHeadphoneEQParameters:highGain:设置耳机均衡器的低频和高频参数。
setHeadphoneEQPreset:设置预设的耳机均衡效果。
setMaxAudioRecvCount:设置你在指定音频接收范围内可接收的最大音频流数量。
setPlayerAttenuation:playerId:forceSet:设置媒体播放器的声音衰减属性。
setRemoteAudioAttenuation:uid:forceSet:设置指定用户的声音衰减效果。
setRemoteUserSpatialAudioParams:params:设置远端用户的空间音效参数。
setSpatialAudioParams:启用或关闭媒体播放器的空间音效。
setZones:设置声源隔音区域。
updatePlayerPositionInfo:positionInfo:更新媒体播放器的空间位置。
updateRemotePosition:positionInfo:更新指定远端用户的空间位置。
updateSelfPosition:axisForward:axisRight:axisUp:更新本地用户的空间位置。
表格内容超出当前宽度,可横向滚动查看更多列。

本地音频合流

API描述
startLocalAudioMixer:开始本地混音。
stopLocalAudioMixer停止本地混音。
updateLocalAudioMixerConfiguration:更新本地混音配置。
表格内容超出当前宽度,可横向滚动查看更多列。

原始音频数据

API描述
getEarMonitoringAudioParams设置 onEarMonitoringAudioFrame: 回调的音频格式。
getMixedAudioParams设置 onMixedAudioFrame:channelId: 回调的音频格式。
getObservedAudioFramePosition设置音频数据观察位置。
getPlaybackAudioParams设置 onPlaybackAudioFrame:channelId: 回调的音频格式。
getRecordAudioParams设置 onRecordAudioFrame:channelId: 回调的音频格式。
setAudioFrameDelegate:注册音频帧观察者对象。
setEarMonitoringAudioFrameParametersWithSampleRate:channel:mode:samplesPerCall:设置耳返原始音频数据的格式。
setMixedAudioFrameParametersWithSampleRate:channel:samplesPerCall:设置用于音频采集和播放的混音后原始音频数据格式。
setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:channel:设置混音前原始音频播放数据的格式。
setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:channel:samplesPerCall:设置 onPlaybackAudioFrameBeforeMixing:channelId:uid: 回调中音频数据的格式。
setPlaybackAudioFrameParametersWithSampleRate:channel:mode:samplesPerCall:设置原始音频播放数据的格式。
setRecordingAudioFrameParametersWithSampleRate:channel:mode:samplesPerCall:设置采集的原始音频数据格式。
onEarMonitoringAudioFrame:获取耳返音频帧回调。
onMixedAudioFrame:channelId:获取混合后的采集和播放音频帧回调。
onPlaybackAudioFrame:channelId:获取用于播放的原始音频帧回调。
onPlaybackAudioFrameBeforeMixing:channelId:uid:获取已订阅远端用户在混音前的音频帧。
onRecordAudioFrame:channelId:采集到音频帧时触发的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

已编码音频数据

API描述
setAudioEncodedFrameDelegate:config:注册编码音频数据的观察者。
onMixedEncodedAudioFrame:info:获取本地和所有远端用户的混音编码音频数据回调。
onPlaybackEncodedAudioFrame:info:获取所有远端用户的编码音频数据回调。
onRecordEncodedAudioFrame:info:获取本地用户的编码音频数据回调。
表格内容超出当前宽度,可横向滚动查看更多列。

自定义音频采集和渲染

API描述
adjustCustomAudioPlayoutVolume:volume:调节本地播放的自定义音频轨道的音量。
adjustCustomAudioPublishVolume:volume:调节远端播放的自定义音频轨道的音量。
createCustomAudioTrack:config:创建一个自定义音频轨道。
destroyCustomAudioTrack:销毁指定的音频轨道。
enableCustomAudioLocalPlayback:enabled:设置是否启用外部音频源的本地播放。
pullPlaybackAudioFrameRawData:lengthInByte:拉取远端音频数据。
pullPlaybackAudioFrameSampleBufferByLengthInByte:拉取 SampleBuffer 格式的远端音频数据。
pushExternalAudioFrameRawData:samples:sampleRate:channels:trackId:timestamp:将外部音频帧推送到 SDK。
pushExternalAudioFrameSampleBuffer:sampleRate:channels:trackId:通过自定义音频轨道将外部 CMSampleBuffer 音频帧推送到频道中。
enableExternalAudioSink:sampleRate:channels:设置外部音频渲染。
表格内容超出当前宽度,可横向滚动查看更多列。

音频频谱

API描述
disableAudioSpectrumMonitor禁用音频频谱监测。
enableAudioSpectrumMonitor:开启音频频谱监测。
registerAudioSpectrumDelegate:注册音频频谱观察者。
unregisterAudioSpectrumDelegate:取消注册音频频谱观察者。
onLocalAudioSpectrum:获取本地音频频谱数据。
onRemoteAudioSpectrum:获取远端音频频谱信息回调。
表格内容超出当前宽度,可横向滚动查看更多列。

视频基础功能

API描述
disableVideo禁用视频模块。
enableLocalVideo:启用或关闭本地视频采集。
enableVideo启用视频模块。
setVideoEncoderConfiguration:设置本地视频的编码配置。
setVideoEncoderConfigurationEx:connection:设置视频编码器配置。
setVideoScenario:设置视频应用场景。
startPreview启用本地视频预览。
startPreview:启用本地视频预览并指定预览的视频源。
stopPreview停止你本地的视频预览和视频。
stopPreview:停止本地视频预览。
rtcEngine:firstLocalVideoFrameWithSize:elapsed:sourceType:本地视频视图显示首帧本地视频画面时触发的回调。
rtcEngine:firstLocalVideoFramePublishedWithElapsed:sourceType:当首帧本地视频发布时触发。
rtcEngine:firstRemoteVideoFrameOfUid:size:elapsed:远端视频首帧渲染回调。
rtcEngine:localVideoStateChangedOfState:reason:sourceType:当本地视频流状态发生变化时触发的回调。
rtcEngine:localVideoStats:sourceType:本地视频流统计信息回调。
rtcEngine:remoteVideoStateChangedOfUid:state:reason:elapsed:远端视频状态发生改变回调。
rtcEngine:remoteVideoStats:报告每位远端用户发送的视频流的统计信息。
rtcEngine:didVideoEnabled:byUid:远端用户启用或关闭视频模块回调。
rtcEngine:didVideoMuted:byUid:远端用户停止或恢复发布视频流时触发的回调。
rtcEngine:didVideoPublishStateChange:sourceType:oldState:newState:elapseSinceLastState:视频发布状态发生变化回调。
rtcEngine:videoSizeChangedOfSourceType:uid:size:rotation:当指定用户的视频尺寸或旋转信息发生变化时触发。
表格内容超出当前宽度,可横向滚动查看更多列。

摄像头采集

API描述
startCameraCapture:config:开始视频采集。
stopCameraCapture:停止视频采集。
表格内容超出当前宽度,可横向滚动查看更多列。

屏幕采集

API描述
getScreenCaptureSourcesWithThumbSize:iconSize:includeScreen:获取可共享的屏幕和窗口列表。
setScreenCaptureScenario:设置屏幕共享场景。
startScreenCapture:config:开始屏幕共享。
startScreenCaptureByDisplayId:regionRect:captureParams:通过指定屏幕 ID 采集屏幕。
startScreenCaptureByWindowId:regionRect:captureParams:通过指定窗口 ID 采集整个或部分窗口的屏幕内容。
stopScreenCapture停止屏幕采集。
stopScreenCapture:停止来自指定视频源的屏幕采集。
updateScreenCaptureParameters:更新屏幕采集参数。
updateScreenCaptureRegion:更新屏幕采集区域。
表格内容超出当前宽度,可横向滚动查看更多列。

本地截图上传

API描述
enableContentInspect:config:启用或关闭本地截图上传功能。
enableContentInspectEx:config:connection:启用或关闭本地截图上传功能。
takeSnapshot:filePath:截取视频流快照并保存为 JPG 图像。
takeSnapshotWithConfig:config:截取指定用户视频的截图并保存为 JPG 文件。
takeSnapshotEx:uid:filePath:使用连接 ID 对视频流进行截图。
takeSnapshotExWithConfig:uid:config:获取指定用户视频流的截图。
rtcEngine:snapshotTaken:filePath:width:height:errCode:报告视频截图的结果。
表格内容超出当前宽度,可横向滚动查看更多列。

虚拟背景

API描述
enableVirtualBackground:backData:segData:启用或关闭虚拟背景功能。
enableVirtualBackground:backData:segData:sourceType:启用虚拟背景并指定媒体源,或关闭虚拟背景。
表格内容超出当前宽度,可横向滚动查看更多列。

本地合图

API描述
startLocalVideoTranscoder:开始本地合图。
stopLocalVideoTranscoder停止本地合图。
updateLocalTranscoderConfiguration:更新本地合图配置。
rtcEngine:didLocalVideoTranscoderErrorWithStream:errorCode:本地合图过程中发生错误时触发的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

视频增强

API描述
addOrUpdateVideoEffectWithNodeId:templateName:添加或更新指定节点 ID 和模板的视频特效。
createVideoEffectObjectWithBundlePath:sourceType:创建一个视频特效对象。
destroyVideoEffectObject:销毁一个视频特效对象。
getFaceShapeAreaOptions:sourceType:获取美型区域的选项。
getFaceShapeAreaOptions:获取当前的美颜特效设置。
getFaceShapeBeautyOptions:获取美颜特效选项。
getFaceShapeBeautyOptions获取当前的美颜特效设置。
getVideoEffectBoolParamWithOption:key:获取视频特效中的布尔参数。
getVideoEffectFloatParamWithOption:key:获取视频特效中的 float 类型参数。
getVideoEffectIntParamWithOption:key:获取视频特效中的整数类型参数。
performVideoEffectActionWithNodeId:actionId:对指定的视频特效节点执行操作。
removeVideoEffectWithNodeId:移除指定节点 ID 的视频特效。
setBeautyEffectOptions:options:设置美颜特效选项。
setBeautyEffectOptions:options:sourceType:设置美颜特效选项并指定媒体源。
setColorEnhanceOptions:options:设置色彩增强效果。
setColorEnhanceOptions:options:sourceType:设置色彩增强选项并指定媒体源。
setFaceShapeAreaOptions:sourceType:设置美颜增强的面部区域选项。
setFaceShapeAreaOptions:设置美颜增强的面部区域选项。
setFaceShapeBeautyOptions:options:sourceType:设置美型选项并指定媒体源。
setFaceShapeBeautyOptions:options:设置美型选项。
setFilterEffectOptions:options:sourceType:设置滤镜特效参数并指定媒体源。
setFilterEffectOptions:options:设置滤镜特效选项。
setLowlightEnhanceOptions:options:设置暗光增强功能。
setLowlightEnhanceOptions:options:sourceType:设置低光增强选项并指定媒体源。
setVideoDenoiserOptions:options:设置视频降噪功能。
setVideoDenoiserOptions:options:sourceType:设置视频降噪并指定媒体源。
setVideoEffectBoolParamWithOption:key:boolValue:设置视频特效的布尔参数。
setVideoEffectFloatParamWithOption:key:floatValue:设置视频特效的浮点参数。
setVideoEffectIntParamWithOption:key:intValue:设置视频特效的整数参数。
setVideoEffectStringParamWithOption:key:stringValue:设置视频效果的字符串参数。
表格内容超出当前宽度,可横向滚动查看更多列。

人像锁定

API描述
enableCameraCenterStage:开启或关闭人像锁定功能。
isCameraCenterStageSupported检查当前摄像头是否支持人像锁定。
表格内容超出当前宽度,可横向滚动查看更多列。

直播水印

API描述
addVideoWatermarkWithConfig:向本地视频添加水印图像。
addVideoWatermarkEx:connection:向本地视频添加水印图像。
clearVideoWatermarkEx:从视频流中移除水印图像。
clearVideoWatermarks从视频流中移除水印图像。
removeVideoWatermark:从本地视频中移除水印图像。
removeVideoWatermarkEx:connection:从本地或远端视频流中移除指定的水印图像。
表格内容超出当前宽度,可横向滚动查看更多列。

垫片推流

API描述
enableVideoImageSource:options:设置在发布视频流时是否用图片替代当前视频画面。
表格内容超出当前宽度,可横向滚动查看更多列。

视频渲染

API描述
enableInstantMediaRendering启用音视频帧的极速渲染。
setLocalRenderMode:mirror:更新本地视频视图的显示模式。
setLocalRenderTargetFps:targetFps:设置本地视频渲染的最大帧率。
setRemoteRenderMode:mode:mirror:更新远端用户视频视图的显示模式。
setRemoteRenderModeEx:mode:mirror:connection:设置指定远端用户的视频显示模式。
setRemoteRenderTargetFps:设置远端视频渲染的最大帧率。
setRenderMode:设置媒体播放器的渲染模式。
setupLocalVideo:初始化本地视频画面。
setupRemoteVideo:初始化远端用户的视频视图。
setupRemoteVideoEx:connection:初始化远端用户的视频视图。
startMediaRenderingTracing启用视频帧渲染过程的追踪功能。
startMediaRenderingTracingEx:启用视频帧渲染过程的追踪。
rtcEngine:videoRenderingTracingResultOfUid:currentEvent:tracingInfo:视频帧渲染事件的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

原始视频数据

API描述
getMirrorApplied设置是否镜像采集的视频。
getObservedFramePosition设置视频观察器的帧位置。
getRotationApplied每次 SDK 接收到视频帧时触发,并提示你是否旋转采集的视频。
getVideoFormatPreference设置 SDK 输出的原始视频数据格式。
getVideoFrameProcessModegetVideoFrameProcessMode 回调。每次 SDK 接收到视频帧时触发,并提示你设置视频帧的处理模式。
setVideoFrameDelegate:注册原始视频帧观察者对象。
onCaptureVideoFrame:sourceType:每次 SDK 接收到本地设备采集的视频帧时触发。
onPreEncodeVideoFrame:sourceType:每次 SDK 接收到编码前视频帧时触发。
onRenderVideoFrame:uid:channelId:每次 SDK 接收到远端用户发送的视频帧时触发。
表格内容超出当前宽度,可横向滚动查看更多列。

已编码视频数据

API描述
setEncodedVideoFrameDelegate:注册一个用于接收编码后视频图像的对象。
onEncodedVideoFrameReceived:length:info:channelId:uid:本地回调远端发送的待解码视频帧信息。
表格内容超出当前宽度,可横向滚动查看更多列。

自定义视频采集和渲染

API描述
createCustomVideoTrack创建一个自定义视频轨道。
destroyCustomVideoTrack:销毁指定的视频轨道。
pushExternalVideoFrame:videoTrackId:通过视频轨道将外部原始视频帧推送到 SDK。
setExternalVideoSource:useTexture:sourceType:配置外部视频源。
表格内容超出当前宽度,可横向滚动查看更多列。

音乐文件播放

API描述
adjustAudioMixingPlayoutVolume:调整本地播放的混音音量。
adjustAudioMixingPublishVolume:调节用于发布的混音音量。
adjustAudioMixingVolume:调节混音时的音量。
getAudioMixingCurrentPosition获取当前混音的播放位置(毫秒)。
getAudioMixingDuration获取音频文件的混音时长(毫秒)。
getAudioMixingPlayoutVolume获取本地播放的混音音量。
getAudioMixingPublishVolume获取用于发布的混音音量。
getAudioTrackCount获取当前音乐文件的音轨索引。
pauseAudioMixing暂停播放和混音音乐文件。
resumeAudioMixing恢复播放并混音音乐文件。
selectAudioTrack:选择用于播放的音轨。
selectMultiAudioTrack:publishTrackIndex:分别选择要在本地设备播放和发布到频道的音轨。
setAudioMixingDualMonoMode:设置当前音频文件的声道模式。
setAudioMixingPitch:设置本地音乐文件的音调。
setAudioMixingPlaybackSpeed:设置当前音频文件的播放速度。
setAudioMixingPosition:设置混音的播放位置。
startAudioMixing:loopback:cycle:开始播放音乐文件。
startAudioMixing:loopback:cycle:startPos:开始播放音乐文件。
stopAudioMixing停止播放音乐文件。
rtcEngine:audioMixingPositionChanged:报告音乐文件的播放进度。
rtcEngine:audioMixingStateChanged:reasonCode:音乐文件播放状态发生变化回调。
表格内容超出当前宽度,可横向滚动查看更多列。

音效文件播放

API描述
getEffectCurrentPosition:获取音效文件的播放位置。
getEffectDuration:获取音效文件的时长。
getEffectsVolume获取音效的音量。
getVolumeOfEffect:获取指定音效文件的音量。
pauseAllEffects暂停所有音效。
pauseEffect:暂停指定的音效文件。
playAllEffectsWithLoopCount:pitch:pan:gain:publish:播放所有音效。
playEffect:filePath:loopCount:pitch:pan:gain:播放指定的本地或在线音效文件。
playEffect:filePath:loopCount:pitch:pan:gain:publish:播放指定的本地或在线音效文件。
playEffect:filePath:loopCount:pitch:pan:gain:publish:startPos:播放指定的本地或在线音效文件。
playEffectEx:soundId:filePath:loopCount:pitch:pan:gain:publish:startPos:在频道中播放指定的音效。
playEffectEx:soundId:filePath:loopCount:pitch:pan:gain:publish:在频道中播放指定的音效。
playEffectEx:soundId:filePath:loopCount:pitch:pan:gain:startPos:在频道中播放指定的音效。
playEffectEx:soundId:filePath:loopCount:pitch:pan:gain:在频道中播放指定的音效。
preloadEffect:filePath:startPos:预加载指定的音效文件。
preloadEffect:filePath:将指定的音效文件预加载到内存中。
preloadEffectEx:soundId:filePath:startPos:预加载指定的音效文件到频道中。
preloadEffectEx:soundId:filePath:预加载指定的音效文件到频道中。
resumeAllEffects恢复播放所有音效文件。
resumeEffect:恢复播放指定的音效。
setEffectPosition:pos:设置音效文件的播放位置。
setEffectsVolume:设置音效的播放音量。
setVolumeOfEffect:withVolume:设置指定音效文件的播放音量。
stopAllEffects停止播放所有音效。
stopEffect:停止播放指定的音效。
unloadEffect:释放指定的预加载音效文件。
rtcEngineDidAudioEffectFinish:soundId:本地音效文件播放完成时的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

初始化

API描述
createMediaPlayerWithDelegate:创建一个媒体播放器实例。
destroyMediaPlayer:销毁媒体播放器实例。
createMediaPlayerCacheManager创建一个 AgoraRtcMediaPlayerCacheManagerProtocol 实例。
setVideoFrameDelegate:注册媒体播放器的视频帧观察者对象。
表格内容超出当前宽度,可横向滚动查看更多列。

媒体资源打开

API描述
open:startPos:打开媒体资源。
openWithMediaSource:打开媒体文件并配置播放场景。
preloadSrc:startPos:预加载媒体资源。
switchSrc:syncPts:切换正在播放的媒体资源。
unloadSrc:卸载你预加载的媒体资源。
表格内容超出当前宽度,可横向滚动查看更多列。

媒体资源播放和渲染

API描述
selectAudioTrack:选择播放过程中使用的音轨。
setAudioDualMonoMode:设置当前音频文件的声道模式。
setAudioPitch:设置当前媒体资源的音调。
setLoopCount:设置循环播放次数。
setPlaybackSpeed:设置当前音频文件的播放速度。
setPlayerOption:value:设置媒体播放器选项。
setPlayerOptionString:value:设置媒体播放器的选项。
setView:设置渲染视图。
表格内容超出当前宽度,可横向滚动查看更多列。

播放器控制

API描述
adjustPlayoutVolume:调整本地播放音量。
adjustPublishSignalVolume:调节用于发布的媒体文件音量。
mute:设置是否静音媒体文件。
pause暂停播放。
play播放媒体文件。
playPreloadedSrc:播放已预加载的媒体资源。
resume恢复播放媒体文件。
seekToPosition:跳转到新的播放位置。
stop:停止播放媒体轨道。
表格内容超出当前宽度,可横向滚动查看更多列。

播放信息获取

API描述
getDuration获取媒体资源的时长。
getMediaPlayerId获取媒体播放器的 ID。
getMute报告媒体资源是否被静音。
getPlayoutVolume获取本地播放音量。
getPosition获取当前本地播放进度。
getPlaySrc获取正在播放的媒体资源路径。
getPublishSignalVolume获取用于发布的媒体文件音量。
getPlayerState获取当前播放状态。
getStreamCount获取媒体资源中的流的数量。
getStreamByIndex:获取媒体流的详细信息。
AgoraRtcMediaPlayer:playbackStats:播放媒体文件的统计信息回调。
表格内容超出当前宽度,可横向滚动查看更多列。

音视频观测器

API描述
AgoraRtcMediaPlayerGetVideoPixelFormat设置原始视频数据的格式。
AgoraRtcMediaPlayer:didReceivePixelBuffer:媒体播放器接收到视频源的像素缓冲区时触发的回调。
AgoraRtcMediaPlayer:didReceiveVideoFrame:每次播放器接收到视频帧时触发的回调。
AgoraRtcMediaPlayer:volumeIndicationDidReceive:报告媒体播放器的音量。
AgoraRtcMediaPlayer:didReceiveAudioFrame:每次播放器接收到音频帧时触发的回调。
AgoraRtcMediaPlayer:didReceiveData:length:接收到媒体元数据时触发的回调。
AgoraRtcMediaPlayer:didPlayBufferUpdated:报告缓冲数据可支持的播放时长。
AgoraRtcMediaPlayer:didOccurEvent:elapsedTime:message:上报播放器事件。
AgoraRtcMediaPlayer:infoUpdated:媒体播放器相关信息发生变化时的回调。
AgoraRtcMediaPlayer:didChangedToState:reason:播放状态发生变化时触发的回调。
AgoraRtcMediaPlayer:playerSrcInfoDidChange:from:媒体文件播放源信息变化回调。
AgoraRtcMediaPlayer:didChangedToPosition:atTimestamp:播放进度回调。
AgoraRtcMediaPlayer:didPreloadEvent:上报预加载媒体资源的事件。
表格内容超出当前宽度,可横向滚动查看更多列。

媒体播放器缓存

API描述
enableAutoRemoveCache:设置是否自动删除缓存的媒体文件。
cacheDir获取缓存媒体文件的存储路径。
cacheFileCount获取已缓存的媒体文件数量。
maxCacheFileCount获取可缓存的媒体文件的最大数量。
maxCacheFileSize获取缓存媒体文件的聚合存储空间的最大大小。
removeAllCaches删除媒体播放器中所有缓存的媒体文件。
removeCacheByUri:删除缓存的媒体文件。
removeOldCache删除最少使用的缓存媒体文件。
setCacheDir:设置要缓存的媒体文件的存储路径。
setMaxCacheFileCount:设置可缓存的媒体文件数量上限。
setMaxCacheFileSize:设置用于缓存媒体文件的聚合存储空间的最大大小。
sharedInstance获取 AgoraRtcMediaPlayerCacheManagerProtocol 实例。
AgoraRtcMediaPlayer:cacheStats:上报正在缓存的媒体文件的统计信息。
表格内容超出当前宽度,可横向滚动查看更多列。

音视频录制

API描述
createMediaRecorder:创建一个媒体录制器实例。
destroyMediaRecorder:销毁音视频录制器实例。
enableMainQueueDispatch:设置是否将回调方法派发到主线程。
setMediaRecorderDelegate:注册 AgoraMediaRecorderDelegate 观察者。
startAudioRecording:quality:开始客户端录音。
startAudioRecordingWithConfig:开始客户端录制并配置录制设置。
startRecording:开始录制音视频流。
stopAudioRecording停止客户端录制音频。
stopRecording停止录制音视频流。
mediaRecorder:informationDidUpdated:uid:info:录制信息更新回调。
mediaRecorder:stateDidChanged:uid:state:reason:录制状态发生变化时的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

跨频道媒体流转发

API描述
pauseAllChannelMediaRelay暂停向所有目标频道的跨频道媒体流转发。
pauseAllChannelMediaRelayEx:暂停向所有目标频道的跨频道媒体流转发。
resumeAllChannelMediaRelay恢复向所有目标频道的跨频道媒体流转发。
resumeAllChannelMediaRelayEx:恢复向所有目标频道的跨频道媒体流转发。
startOrUpdateChannelMediaRelay:开始或更新跨频道媒体流转发。
startOrUpdateChannelMediaRelayEx:connection:开始或更新跨频道媒体流转发。
stopChannelMediaRelay停止跨频道媒体流转发。
stopChannelMediaRelayEx:停止跨频道媒体流转发。
rtcEngine:channelMediaRelayStateDidChange:error:跨频道媒体流转发状态发生变化回调。
表格内容超出当前宽度,可横向滚动查看更多列。

旁路推流

API描述
startRtmpStreamWithoutTranscoding:开始向 CDN 推流(不进行转码)。
startRtmpStreamWithoutTranscodingEx:connection:开始向 CDN 推送未经转码的媒体流。
startRtmpStreamWithTranscoding:transcoding:开始旁路推流并设置转码配置。
startRtmpStreamWithTranscodingEx:transcoding:connection:开始旁路推流并设置转码配置。
stopRtmpStream:停止向 CDN 推送媒体流。
stopRtmpStreamEx:connection:停止向指定 CDN 地址推送媒体流。
updateRtmpTranscoding:更新旁路推流的转码配置。
updateRtmpTranscodingEx:connection:更新旁路推流的转码配置。
rtcEngine:rtmpStreamingEventWithUrl:eventCode:报告旁路推流过程中的事件。
rtcEngine:rtmpStreamingChangedToState:state:reason:RTMP 或 RTMPS 推流状态发生变化时触发的回调。
rtcEngineTranscodingUpdated:发布端的云端转码设置更新时触发的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

数据流 Datastream

API描述
createDataStream:reliable:ordered:创建数据流。
createDataStream:config:创建一个数据流。
createDataStreamEx:config:connection:创建一个数据流。
sendStreamMessage:data:发送数据流消息。
rtcEngine:receiveStreamMessageFromUid:streamId:data:当本地用户收到远端用户发送的数据流时触发。
rtcEngine:didOccurStreamMessageErrorFromUid:streamId:error:missed:cached:当本地用户未收到远端用户发送的数据流时触发的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

媒体流附属信息分发

API描述
metadataMaxSize当 SDK 请求元数据的最大大小时触发。
readyToSendMetadataAtTimestamp:sourceType:当 SDK 准备好发送元数据时触发回调。
setMediaMetadataDelegate:withType:注册元数据观察者。
setMediaMetadataDataSource:withType:设置元数据的数据源。
didMetadataReceived:当本地用户接收到元数据时触发。
表格内容超出当前宽度,可横向滚动查看更多列。

音频路由

API描述
rtcEngine:didAudioRouteChanged:本地音频路由发生变化时的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

通用设备管理

API描述
enumerateDevices:枚举系统中的所有音频和视频设备。
getDeviceInfo:获取当前设备名称。
getDeviceVolume:获取当前设备的音量。
monitorDeviceChange:监控设备状态变化。
setDeviceVolume:volume:设置指定设备的音量。
rtcEngine:device:type:stateChanged:报告设备状态的变化回调。
表格内容超出当前宽度,可横向滚动查看更多列。

视频设备管理

API描述
queryCodecCapability查询设备支持的视频编解码能力。
setCameraCapturerConfiguration:设置视频采集配置。
setDevice:deviceId:指定具有设备 ID 的设备。
表格内容超出当前宽度,可横向滚动查看更多列。

音频设备管理

API描述
followSystemPlaybackDevice:设置 SDK 使用的音频播放设备是否跟随系统默认音频播放设备。
followSystemRecordingDevice:设置你使用的 SDK 音频录制设备是否跟随系统默认音频录制设备。
getDefaultAudioDevice:获取系统的默认音频设备。
startAudioDeviceLoopbackTest:开始音频设备回路测试。
startPlaybackDeviceTest:启动本地音频播放设备测试。
startRecordingDeviceTest:启动音频采集设备测试。
stopAudioDeviceLoopbackTest停止音频设备回路测试。
stopPlaybackDeviceTest停止音频播放设备测试。
stopRecordingDeviceTest停止音频采集设备测试。
表格内容超出当前宽度,可横向滚动查看更多列。

插件

API描述
enableExtensionWithVendor:extension:enabled:sourceType:启用或禁用扩展功能。
getExtensionPropertyWithVendor:extension:key:获取扩展组件的详细信息。
getExtensionPropertyWithVendor:extension:key:sourceType:获取扩展的详细信息。
registerExtensionWithVendor:extension:sourceType:注册一个扩展。
setExtensionPropertyWithVendor:extension:key:value:设置扩展属性。
setExtensionProviderPropertyWithVendor:key:value:设置扩展提供方的属性。
onExtensionErrorWithContext:error:message:当扩展运行异常时触发的回调。
onEventWithContext:key:value:扩展的事件回调。
onExtensionStartedWithContext:扩展启用成功时触发的回调。
onExtensionStoppedWithContext:当扩展被禁用时触发的回调。
表格内容超出当前宽度,可横向滚动查看更多列。

网络及其他

API描述
complain:description:允许你在通话结束后投诉通话质量。
enableEncryption:encryptionConfig:启用或关闭内置加密。
enableEncryptionEx:encryptionConfig:connection:启用或关闭内置加密。
enableMainQueueDispatch:启用或禁用将回调方法派发到主线程。
getCallId获取当前通话 ID。
getCallIdEx:获取与连接 ID 对应的通话 ID。
getConnectionState获取当前 SDK 的连接状态。
getConnectionStateEx:获取 SDK 当前的连接状态。
getCurrentMonotonicTimeInMs获取 SDK 当前的单调时间。
getErrorDescription:获取警告或错误描述信息。
getNativeHandle获取 Native SDK 的 C++ 句柄。
getNetworkType获取本地网络连接类型。
getNtpWallTimeInMs获取当前的 NTP(网络时间协议)时间。
getSdkVersion获取 SDK 的版本号。
isFeatureAvailableOnDevice:检查当前设备是否支持指定的高级功能。
queryDeviceScore查询设备评分。
rate:rating:description:允许你在通话结束后对通话进行评分。
sendCustomReportMessage:category:event:label:value:上报自定义消息。
sendCustomReportMessageEx:category:event:label:value:connection:支持上报和分析自定义消息。
setAVSyncSource:uid:设置发布端的音视频同步。
setCloudProxy:设置云代理服务。
setLocalAccessPoint:配置连接到声网私有媒体服务器接入模块。
setParameters:通过配置 JSON 选项为 SDK 提供技术预览功能或特殊定制。
setRemoteSubscribeFallbackOption:设置订阅端视频流的回退选项。
startEchoTestWithConfig:启动音视频设备回路测试。
startLastmileProbeTest:启动 Last mile 网络探测测试。
stopEchoTest停止音频通话测试。
stopLastmileProbeTest停止 Last-mile 网络探测测试。
rtcEngineConnectionDidLost:连接中断 10 秒后仍无法重连时触发的回调。
rtcEngine:connectionChangedToState:reason:网络连接状态发生变化时的回调。
rtcEngine:didOccurEncryptionError:内置加密错误回调。
rtcEngine:lastmileProbeTestResult:报告 Last-mile 网络探测结果。
rtcEngine:lastmileQuality:上报本地用户的 Last-mile 网络质量。
rtcEngine:multiPathStats:上报多路径传输统计信息。
rtcEngine:networkQuality:txQuality:rxQuality:报告频道中每个用户的 Last-mile 网络质量。
rtcEngine:networkTypeChanged:本地网络类型发生变化回调。
rtcEngine:permissionError:当 SDK 无法获取设备权限时触发的回调。
rtcEngine:didProxyConnected:withUid:proxyType:localProxyIp:elapsed:代理连接状态回调。
rtcEngine:didRemoteSubscribeFallbackToAudioOnly:byUid:远端媒体流因网络变化在音频流与视频流之间切换时触发的回调。
rtcEngine:uplinkNetworkInfoUpdate:当上行网络信息发生变化时触发该回调。
表格内容超出当前宽度,可横向滚动查看更多列。