# 声网3.4.1与阿里2.1接口对比
# iOS端
- AliRtcEngine是主类,提供所有可以供App调用的方法
- AliRtcEngineDelegate里的声明方法是SDK向App发送的回调通知子频道功能:通过方法createChannelWithDelegate可以创建一个子频道,返回的类型和主频道一致,为:AliRtcEngine。
- 子频道的代理与方法调用和主频道一样,只不过一些接口只在主频道调用有效,子频道调用无效,具体参见:XXXX。
- 在调用API的过程中,SDK会返回错误码和警告码,详见XXXX。
- 此文档中声网接口与回调总数为:260个。阿里对齐171个,未对齐89个,对齐比例为:66%
# 频道管理
# 频道事件
# 音频管理
# 视频管理
# 本地媒体事件
# 远端媒体事件
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
remoteAudioStateChangedOfUid (opens new window) | - | 远端音频流状态发生改变 | 否 |
remoteVideoStateChangedOfUid (opens new window) | - | 远端用户视频流状态发生改变 | 否 |
firstRemoteVideoFrameOfUid (opens new window) | onFirstRemoteVideoFrameDrawn (opens new window) | 已显示远端视频首帧 | 是 |
didAudioSubscribeStateChange (opens new window) | onAudioSubscribeStateChanged (opens new window) | 音频订阅状态发生改变回调 | 是 |
didVideoSubscribeStateChange (opens new window) | onVideoSubscribeStateChanged (opens new window) | 视频订阅状态发生改变回调 | 是 |
didAudioMuted (opens new window) | onUserAudioMuted (opens new window) | 远端用户音频静音回调 | 是 |
didVideoMuted (opens new window) | onUserVideoMuted (opens new window) | 远端用户暂停发送视频回调 | 是 |
didVideoEnabled (opens new window) | - | 远端用户启用/关闭视频回调 | 否 |
didLocalVideoEnabled (opens new window) | - | 远端用户启用/关闭本地视频回调 | 否 |
# 数据统计事件
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
remoteAudioStats (opens new window) | onRtcRemoteAudioStats (opens new window) | 报告通话中远端音频流的统计信息 | 是 |
reportRtcStats (opens new window) | onRtcStats (opens new window) | 报告 Rtc Engine 统计信息 | 是 |
networkQuality (opens new window) | onNetworkQualityChanged (opens new window) | 报告网络上下行质量 | 是 |
localAudioStats (opens new window) | onRtcLocalAudioStats (opens new window) | 通话中本地音频流的统计信息回调 | 是 |
localVideoStats (opens new window) | onRtcLocalVideoStats (opens new window) | 报告本地视频统计信息 | 是 |
remoteVideoStats (opens new window) | onRtcRemoteVideoStats (opens new window) | 报告远端视频统计信息 | 是 |
# 视频前处理及后处理
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
setBeautyEffectOptions (opens new window) | setBeautyEffect (opens new window) | 设置美颜效果选项 | 是 |
# 多频道管理
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
createRtcChannel (opens new window) | createChannelWithDelegate (opens new window) | 创建并获取一个 AgoraRtcChannel 对象。通过创建多个对象,用户可以同时加入多个频道。 | 是 |
AgoraRtcChannel (opens new window) | AliRtcEngine | 该类提供在指定频道内实现实时音视频功能的方法。 | 是 |
AgoraRtcChannelDelegate (opens new window) | AliRtcEngineDelegate | 该类提供监听指定频道事件和数据的回调。 | 是 |
# 屏幕共享
本组方法仅适用于 macOS,不适用于 iOS。
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
startScreenCaptureByDisplayId (opens new window) | startScreenShareWithDesktopId | 通过屏幕 ID 共享屏幕 | 是 |
startScreenCaptureByWindowId (opens new window) | startScreenShareWithWindowId | 通过窗口 ID 共享窗口 | 是 |
setScreenCaptureContentHint (opens new window) | -1 | 设置屏幕共享内容类型 | 否 |
updateScreenCaptureParameters (opens new window) | -1 | 更新屏幕共享的参数配置 | 否 |
updateScreenCaptureRegion (opens new window) | updateScreenShareConfig | 更新屏幕共享区域 | 是 |
stopScreenCapture (opens new window) | stopScreenShare | 停止屏幕共享 | 是 |
# 音乐文件播放及混音
# 音效文件播放管理
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
rtcEngineDidAudioEffectFinish (opens new window) | onAudioEffectFinished (opens new window) | 本地音效文件播放已结束 | 是 |
# 虚拟节拍器
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
startRhythmPlayer (opens new window) | -1 | 开启虚拟节拍器 | 否 |
configRhythmPlayer (opens new window) | -1 | 配置虚拟节拍器 | 否 |
stopRhythmPlayer (opens new window) | -1 | 关闭虚拟节拍器 | 否 |
# 人声效果
# 听声辨位
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
enableSoundPositionIndication (opens new window) | -1 | 开启/关闭远端用户的语音立体声 | 否 |
setRemoteVoicePosition (opens new window) | -1 | 设置远端用户的语音位置 | 否 |
# CDN 推流
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
rtmpStreamingChangedToState (opens new window) | onPublishLiveStreamStateChanged (opens new window) | RTMP/RTMPS 推流状态发生改变 | 是 |
rtmpStreamingEventWithUrl (opens new window) | onPublishTaskStateChanged (opens new window) | RTMP/RTMPS 推流事件回调 | 是 |
rtcEngineTranscodingUpdated (opens new window) | onPublishLiveStreamStateChanged (opens new window) | 旁路推流设置已被更新 | 是 |
# 跨频道媒体流转发
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
channelMediaRelayStateDidChange (opens new window) | onChannelRelayStateChanged (opens new window) | 跨频道媒体流转发状态发生改变 | 是 |
didReceiveChannelMediaRelayEvent (opens new window) | onChannelRelayEvent (opens new window) | 跨频道媒体流转发事件 | 是 |
# 音量提示
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
enableAudioVolumeIndication | enableAudioVolumeIndication (opens new window) | 启用用户音量提示 | 是 |
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
reportAudioVolumeIndicationOfSpeakers | onAudioVolumeCallback (opens new window) | 用户音量提示回调 | 是 |
activeSpeaker | onActiveSpeaker (opens new window) | 监测到最活跃用户回调 | 是 |
# 人脸检测
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
enableFaceDetection (opens new window) | -1 | 开启/关闭本地人脸检测 | 否 |
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
facePositionDidChangeWidth (opens new window) | -1 | 报告本地人脸检测结果 | 否 |
# 音频播放路由
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
setDefaultAudioRouteToSpeakerphone (opens new window) | - | 设置默认的音频播放路由 | 否 |
setEnableSpeakerphone (opens new window) | enableSpeakerphone (opens new window) | 启用/关闭扬声器播放 | 是 |
isSpeakerphoneEnabled (opens new window) | isEnableSpeakerphone (opens new window) | 查询扬声器启用状态 | 是 |
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
didAudioRouteChanged (opens new window) | onAudioRouteChanged (opens new window) | 语音路由已改变 | 是 |
# 耳返控制
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
enableInEarMonitoring (opens new window) | enableEarBack (opens new window) | 开启耳返功能 | 是 |
setInEarMonitoringVolume (opens new window) | setEarBackVolume (opens new window) | 设置耳返音量 | 是 |
# 视频双流模式
# 音视频流回退
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
setRemoteUserPriority (opens new window) | -1 | 设置远端用户流的优先级 | 否 |
setLocalPublishFallbackOption (opens new window) | -1 | 设置弱网条件下发布的音视频流回退选项 | 否 |
setRemoteSubscribeFallbackOption (opens new window) | -1 | 设置弱网条件下订阅的音视频流回退选项 | 否 |
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
didLocalPublishFallbackToAudioOnly (opens new window) | -1 | 本地发布流已回退为音频流或恢复为音视频流 | 否 |
didRemoteSubscribeFallbackToAudioOnly (opens new window) | -1 | 远端订阅流已回退为音频流或恢复为音视频流 | 否 |
# 通话前网络测试
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
startEchoTestWithInterval (opens new window) | -1 | 开始语音通话回路测试 | 否 |
stopEchoTest (opens new window) | -1 | 停止语音通话回路测试 | 否 |
enableLastmileTest (opens new window) | startLastmileDetect (opens new window) | 启用网络测试 | 是 |
disableLastmileTest (opens new window) | stopLastmileDetect (opens new window) | 关闭网络测试 | 是 |
startLastmileProbeTest (opens new window) | -1 | 开始通话前网络质量探测 | 否 |
stopLastmileProbeTest (opens new window) | -1 | 停止通话前网络质量探测 | 否 |
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
lastmileQuality (opens new window) | onLastmileDetectResultWithQuality (opens new window) | 报告本地用户的网络质量 | 是 |
lastmileProbeTestResult (opens new window) | -1 | 报告通话前网络上下行 last mile 质量 | 否 |
# 自定义视频模块
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
setVideoSource (opens new window) | -1 | 设置自定义视频源 | 否 |
setLocalVideoRenderer (opens new window) | -1 | 设置本地自定义视频渲染器 | 否 |
setRemoteVideoRenderer (opens new window) | -1 | 设置远端自定义视频渲染器 | 否 |
videoSource (opens new window) | -1 | 获取当前视频源 | 否 |
localVideoRenderer (opens new window) | -1 | 获取本地视频渲染器 | 否 |
remoteVideoRendererOfUserId (opens new window) | -1 | 获取远端视频渲染器 | 否 |
# 音频自采集
# 音频自渲染
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
enableExternalAudioSink (opens new window) | subscribeAudioData (opens new window) | 设置外部音频渲染 | 是 |
disableExternalAudioSink (opens new window) | unSubscribeAudioData (opens new window) | 关闭外部音频渲染 | 是 |
pullPlaybackAudioFrameRawData (opens new window) | -1 | 拉取 RawData 格式的远端音频数据 | 否 |
pullPlaybackAudioFrameSampleBufferByLengthInByte (opens new window) | -1 | 拉取 SampleBuffer 格式的远端音频数据 | 否 |
# 视频自采集
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
setExternalVideoSource (opens new window) | setExternalVideoSource (opens new window) | 配置外部视频源 | 是 |
pushExternalVideoFrame (opens new window) | pushExternalVideoFrame (opens new window) | 推送外部视频帧 | 是 |
# 原始音频数据
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
setRecordingAudioFrameParametersWithSampleRate (opens new window) | -1 | 设置采集的音频格式 | 否 |
setPlaybackAudioFrameParametersWithSampleRate (opens new window) | -1 | 设置播放的音频格式 | 否 |
setMixedAudioFrameParametersWithSampleRate (opens new window) | -1 | 设置采集和播放的音频混音后的数据格式 | 否 |
setAudioFrameDelegate (opens new window) | -1 | 设置音频帧 delegate | 否 |
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
onRecordAudioFrame (opens new window) | onAudioSampleCallback (opens new window) | 获得采集的原始音频数据 | 是 |
onPlaybackAudioFrame (opens new window) | -1 | 获得播放的原始音频数据 | 否 |
onMixedAudioFrame (opens new window) | onAudioSampleCallback (opens new window) | 获取本地用户和所有远端用户混音后的原始音频数据 | 是 |
onPlaybackAudioFrameBeforeMixing (opens new window) | onPlaybackAudioFrameBeforeMixing (opens new window) | 获取单个远端用户混音前的原始音频数据 | 是 |
# 媒体附属信息
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
setMediaMetadataDataSource (opens new window) | -1 | 设置媒体附属信息的 Data source | 否 |
setMediaMetadataDataDelegate (opens new window) | -1 | 设置媒体附属信息的 Delegate | 否 |
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
metadataMaxSize (opens new window) | -1 | 请求媒体附属信息的最大数据大小 | 否 |
readyToSendMetadataAtTimestamp (opens new window) | -1 | 发送端已准备好发送媒体附属信息 | 否 |
receiveMetadata (opens new window) | onMediaExtensionMsgReceived (opens new window) | 接收端已收到媒体附属信息 | 是 |
# 直播视频水印
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
addVideoWatermark (opens new window) | addVideoWatermark (opens new window) | 添加本地视频水印 | 是 |
clearVideoWatermarks (opens new window) | clearVideoWatermark (opens new window) | 删除已添加的视频水印 | 是 |
# 加密
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
enableEncryption (opens new window) | -1 | 开启或关闭内置加密 | 否 |
# 音频录制
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
startAudioRecordingWithConfig (opens new window) | startRecord (opens new window) | 开始客户端录音 | 是 |
stopAudioRecording (opens new window) | stopRecord (opens new window) | 停止客户端录音 | 是 |
# 摄像头控制
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
cameraFocusDidChangedToRect (opens new window) | -1 | 摄像头对焦区域已改变 | 否 |
cameraExposureDidChangedToRect (opens new window) | -1 | 摄像头曝光区域已改变 | 否 |
# 设备管理
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
monitorDeviceChange (opens new window) | - | 监控设备改变 | 否 |
enumerateDevices (opens new window) | getAudioCaptures+getAudioRenderers+getCameraList | 获取系统中所有的音视频设备 | 否 |
getDeviceInfo (opens new window) | getCurrentAudioCapture+getCurrentAudioRenderer+getCurrentCamera | 获取当前设备名称 | 否 |
setDevice (opens new window) | setCurrentAudioCaptureWithID+setCurrentAudioRendererWithID+setCurrentCameraWithID | 指定设备 | 否 |
getDeviceVolume (opens new window) | getRecordingDeviceVolume+getPlayoutDeviceVolume | 获取设备音量 | 否 |
setDeviceVolume (opens new window) | setRecordingDeviceVolume+setPlayoutDeviceVolume | 设置设备音量 | 否 |
startRecordingDeviceTest (opens new window) | startTestAudioRecordWithName | 启动音频采集设备测试 | 是 |
stopRecordingDeviceTest (opens new window) | stopTestAudioRecord | 停止测试音频采集设备 | 是 |
startPlaybackDeviceTest (opens new window) | startTestAudioPlayoutWithName | 启动音频播放设备测试 | 是 |
stopPlaybackDeviceTest (opens new window) | stopTestAudioPlayout | 停止播放设备测试 | 是 |
startCaptureDeviceTest (opens new window) | - | 启动视频采集设备测试 | 否 |
stopCaptureDeviceTest (opens new window) | - | 停止视频采集设备测试 | 否 |
startAudioDeviceLoopbackTest (opens new window) | - | 开始音频设备回路测试 | 否 |
stopAudioDeviceLoopbackTest (opens new window) | - | 停止音频设备回路测试 | 否 |
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
stateChanged (opens new window) | onAudioDeviceStateChanged | 设备状态改变(仅适用于 macOS) | 是 |
# 流消息
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
createDataStream (opens new window) | -1 | 创建数据流 | 否 |
sendStreamMessage (opens new window) | sendMediaExtensionMsg (opens new window) | 发送数据流 | 是 |
声网事件 | 阿里事件 | 描述 | 对齐 |
---|---|---|---|
receiveStreamMessageFromUid (opens new window) | onMediaExtensionMsgReceived (opens new window) | 接收到对方数据流消息 | 是 |
didOccurStreamMessageErrorFromUid (opens new window) | -1 | 接收对方数据流消息发生错误 | 否 |
# 其他音频控制
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
enableLoopbackRecording (opens new window) | - | 开启声卡采集(仅 macOS) | 否 |
setAudioSessionOperationRestriction (opens new window) | setAudioSessionOperationRestriction (opens new window) | 设置 SDK 对 Audio Session 的操作权限 | 是 |
# 其他视频控制
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
setCameraCapturerConfiguration (opens new window) | setCameraCapturerConfiguration (opens new window) | 设置摄像头采集配置 | 否 |
# 其他方法
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
setCloudProxy (opens new window) | -1 | 设置 Agora 云代理服务 | 否 |
enableDeepLearningDenoise (opens new window) | startIntelligentDenoise (opens new window)/stopIntelligentDenoise (opens new window) | 开启/关闭 AI 降噪模式 | 是 |
sendCustomReportMessage (opens new window) | postFeedbackWithUid (opens new window) | 自定义数据上报 | 是 |
getCallId (opens new window) | -1 | 获取通话 ID | 否 |
rate (opens new window) | -1 | 给通话评分 | 否 |
complain (opens new window) | -1 | 投诉通话质量 | 否 |
enableMainQueueDispatch (opens new window) | enableDelegateMainQueue (opens new window) | 分发/不分发回调至主队列 | 是 |
getSdkVersion (opens new window) | getSDKVersion (opens new window) | 查询 SDK 版本号 | 是 |
getErrorDescription (opens new window) | getErrorDescription (opens new window) | 获取警告或错误描述 | 是 |
getNativeHandle (opens new window) | -1 | 获取 SDK 引擎的 C++ 句柄 | 否 |
delegate (opens new window) | sharedInstance (opens new window) | 设置/获取回调事件 | 是 |
# 其他事件
声网 | 阿里 | 描述 | 对齐 |
---|---|---|---|
didOccurWarning (opens new window) | onOccurWarning (opens new window) | 发生警告 | 是 |
didOccurError (opens new window) | onOccurError (opens new window) | 发生错误 | 是 |
didApiCallExecute (opens new window) | -1 | API 方法已执行 | 否 |