# iOS&Mac -即构与阿里接口回调对比

  • 整理时间 :2021年7月13日
  • 即构版本:2.9.0
  • 阿里版本:2.4.1
  • 端:iOS&Mac ​

本文统计:即构官网文档暴露出来的主要接口与回调303个, 完全对齐66个 未对齐237个 ​

# 初始化相关的前置功能

API 阿里 描述 对齐
createEngineWithAppID:appSign:isTestEnv:scenario:eventHandler: (opens new window) sharedInstance (opens new window) 创建引擎单例对象 否,参数不一样
destroyEngine: (opens new window) destroy (opens new window) 异步销毁引擎单例对象
sharedEngine (opens new window) sharedInstance (opens new window) 获取引擎单例对象
setEngineConfig: (opens new window) sharedInstance (opens new window) 设置引擎进阶配置 否,方法不一样
setLogConfig: (opens new window) setLogLevel (opens new window) 设置日志属性
setRoomMode: (opens new window) setChannelProfile (opens new window) 设置房间模式
getVersion (opens new window) getSDKVersion (opens new window) 获取 SDK 版本号
setApiCalledCallback: (opens new window) - 设置调用方法执行结果的回调,设置后可以获取到每次执行ZEGO SDK方法结果的详细信息
setEventHandler: (opens new window) sharedInstance (opens new window) 设置事件通知回调,传 [null] 则清空已设置的回调 否,阿里作为参数传入
uploadLog (opens new window) uploadLog (opens new window) 上传日志到 ZEGO 服务器
uploadLog: (opens new window) uploadLog (opens new window) 上传日志到 ZEGO 服务器
setDebugVerbose:language: (opens new window) - 设置调试详细信息开关以及语言
callExperimentalAPI: (opens new window) - 调用 RTC 试验性 API
setDummyCaptureImagePath:channel: (opens new window) - 设置关闭摄像头时所推静态图片的路径
onDebugError:funcName:info: (opens new window) - 调试错误信息回调
onApiCalledResult:funcName:info: (opens new window) - 方法执行结果回调
onEngineStateUpdate: (opens new window) - 音视频引擎状态更新回调

# 房间功能

API 阿里 描述 对齐
loginRoom:user: (opens new window) joinChannel (opens new window) 登录房间,推拉流前必须登录房间
loginRoom:user:config: (opens new window) - 使用配置进阶属性的方式登录房间,推拉流前必须登录房间
loginMultiRoom:config: (opens new window) - 登录多房间
logoutRoom (opens new window) leaveChannel (opens new window) 退出房间
logoutRoom: (opens new window) - 退出房间
switchRoom:toRoomID: (opens new window) switchChannel (opens new window) 切换房间
switchRoom:toRoomID:config: (opens new window) - 使用配置进阶属性的方式切换房间
renewToken:roomID: (opens new window) refreshAuthInfo (opens new window) 更新 token 鉴权信息
setRoomExtraInfo:forKey:roomID:callback: (opens new window) - 设置房间附加消息
onRoomStateUpdate:errorCode:extendedData:roomID: (opens new window) - 房间状态变化通知
onRoomUserUpdate:userList:roomID: (opens new window) onRemoteUserOnLineNotify (opens new window)/onRemoteUserOffLineNotify (opens new window) 房间内其他用户增加或减少的通知回调 否,阿里是两个回掉
onRoomOnlineUserCountUpdate:roomID: (opens new window) - 房间内当前在线用户数量回调
onRoomStreamUpdate:streamList:roomID: (opens new window) - (已废弃,请使用带 [extendedData] 参数的同名回调代替)相同房间内其他用户推的流增加或减少的通知
onRoomStreamUpdate:streamList:extendedData:roomID: (opens new window) onRemoteTrackAvailableNotify (opens new window) 相同房间内其他用户推的流增加或减少的通知
onRoomStreamExtraInfoUpdate:roomID: (opens new window) - 房间内流附加信息更新通知
onRoomExtraInfoUpdate:roomID: (opens new window) - 房间附加信息更新通知
onRoomTokenWillExpire:roomID: (opens new window) - 房间 Token 鉴权将要过期的回调通知

# 推流功能

API 阿里 描述 对齐
startPublishingStream: (opens new window) publishLocalVideoStream (opens new window)/publishLocalAudioStream (opens new window) 开始推流 否,阿里是两个接口
startPublishingStream:channel: (opens new window) - 开始推流,可选择推第二路流
startPublishingStream:config:channel: (opens new window) - 开始推流,支持多房间模式
stopPublishingStream (opens new window) publishLocalVideoStream (opens new window)/publishLocalAudioStream (opens new window) 停止推流 否,阿里是两个接口
stopPublishingStream: (opens new window) - 停止推流,可停止指定通道的音视频流
setStreamExtraInfo:callback: (opens new window) - 设置流附加信息
setStreamExtraInfo:channel:callback: (opens new window) - 设置流附加信息,支持设置其他通道的推流
startPreview: (opens new window) startPreview (opens new window) 启动/更新本地预览
startPreview:channel: (opens new window) - 启动/更新本地预览,支持设置其他通道的推流
stopPreview (opens new window) stopPreview (opens new window) 停止本地预览
stopPreview: (opens new window) - 停止本地预览,支持设置其他通道的推流
setVideoConfig: (opens new window) setVideoEncoderConfiguration (opens new window) 设置视频配置
setVideoConfig:channel: (opens new window) - 设置视频配置,支持设置其他通道的推流
getVideoConfig (opens new window) - 获取当前视频配置
getVideoConfig: (opens new window) - 获取当前视频配置,支持设置其他通道的推流
setVideoMirrorMode: (opens new window) setVideoEncoderConfiguration (opens new window) 设置镜像模式 否,阿里作为参数设置
setVideoMirrorMode:channel: (opens new window) - 设置镜像模式,支持设置其他通道的推流
setAppOrientation: (opens new window) setVideoEncoderConfiguration (opens new window) 设置视频的朝向 否,阿里作为参数设置
setAppOrientation:channel: (opens new window) - 设置采集视频的朝向,支持设置其他通道的推流
setAudioConfig: (opens new window) setAudioProfile (opens new window) 设置音频质量配置
setAudioConfig:channel: (opens new window) - 设置音频质量配置
getAudioConfig (opens new window) - 获取当前音频质量配置
getAudioConfig: (opens new window) - 获取当前音频质量配置
setPublishStreamEncryptionKey: (opens new window) - 设置推流加密密钥
setPublishStreamEncryptionKey:channel: (opens new window) - 设置推流加密密钥
takePublishStreamSnapshot: (opens new window) snapshotVideo (opens new window) 对推流画面截图
takePublishStreamSnapshot:channel: (opens new window) - 对推流画面截图,支持设置其他通道的推流
mutePublishStreamAudio: (opens new window) muteLocalMic (opens new window) 停止或恢复发送音频流
mutePublishStreamAudio:channel: (opens new window) - 停止或恢复发送音频流,支持设置其他通道的推流
mutePublishStreamVideo: (opens new window) muteLocalCamera (opens new window) 停止或恢复发送视频流
mutePublishStreamVideo:channel: (opens new window) - 停止或恢复发送视频流,支持设置其他通道的推流
enableTrafficControl:property: (opens new window) enableAudioDTX (opens new window)/enableAudioAMD (opens new window) 开始或停止流量控制 否,方法不一样
enableTrafficControl:property:channel: (opens new window) - 开始或停止流量控制
setMinVideoBitrateForTrafficControl:mode: (opens new window) - 设置流量控制的最低视频码率阈值
setMinVideoBitrateForTrafficControl:mode:channel: (opens new window) - 设置流量控制视频码率最低值
setTrafficControlFocusOn: (opens new window) - 设置触发流量控制的关注因素
setTrafficControlFocusOn:channel: (opens new window) - 设置触发流量控制的关注因素
setCaptureVolume: (opens new window) setRecordingVolume (opens new window) 设置推流端采集音量
setAudioCaptureStereoMode: (opens new window) - 设置音频采集双声道模式
addPublishCdnUrl:streamID:callback: (opens new window) startPublishLiveStreamWithURL (opens new window) 增加转推至 CDN 的 URL
removePublishCdnUrl:streamID:callback: (opens new window) stopPublishLiveStreamWithURL (opens new window) 删除转推至 CDN 的 URL
enablePublishDirectToCDN:config: (opens new window) - 是否不经过 Zego RTC 服务器直接推流到 CDN
enablePublishDirectToCDN:config:channel: (opens new window) - 是否不经过 Zego RTC 服务器直接推流到 CDN,支持设置其他通道的推流
setPublishWatermark:isPreviewVisible: (opens new window) addVideoWatermark (opens new window) 设置推流水印
setPublishWatermark:isPreviewVisible:channel: (opens new window) - 设置推流水印,支持设置其他通道的推流
setSEIConfig: (opens new window) - 设置媒体增强补充信息类型
sendSEI: (opens new window) sendMediaExtensionMsg (opens new window) 发送媒体增强补充信息
sendSEI:channel: (opens new window) - 发送媒体增强补充信息
enableHardwareEncoder: (opens new window) - 开/关硬件编码
setCapturePipelineScaleMode: (opens new window) - 设置采集缩放时机,视频数据是采集的时候立即缩放还是编码时才进行缩放
onPublisherStateUpdate:errorCode:extendedData:streamID: (opens new window) onAudioPublishStateChanged (opens new window)/onVideoPublishStateChanged (opens new window) 推流状态回调 否,阿里是两个回掉
onPublisherQualityUpdate:streamID: (opens new window) - 推流质量回调
onPublisherCapturedAudioFirstFrame (opens new window) - 推流端音频采集首帧回调
onPublisherCapturedVideoFirstFrame: (opens new window) onFirstLocalVideoFrameDrawn (opens new window) 推流端视频采集首帧回调
onPublisherRenderVideoFirstFrame: (opens new window) onFirstRemoteVideoFrameDrawn (opens new window) 推流端视频渲染首帧回调
onPublisherVideoSizeChanged:channel: (opens new window) - 采集视频大小变更回调
onPublisherRelayCDNStateUpdate:streamID: (opens new window) onPublishLiveStreamStateChanged (opens new window) 添加/删除转推 CDN 地址状态回调

# 拉流功能

API 阿里 描述 对齐
startPlayingStream:canvas: (opens new window) subscribeRemoteAudioStream (opens new window)/subscribeRemoteVideoStream (opens new window) 开始拉流(从 ZEGO RTC 服务器) 否,阿里是两个接口
startPlayingStream:canvas:config: (opens new window) - 开始拉流(从 ZEGO RTC 服务器或第三方 CDN),支持多房间模式
stopPlayingStream: (opens new window) subscribeRemoteAudioStream (opens new window)/subscribeRemoteVideoStream (opens new window) 停止拉流 否,阿里是两个接口
setPlayStreamDecryptionKey:streamID: (opens new window) - 设置拉流解密密钥
takePlayStreamSnapshot:callback: (opens new window) snapshotVideo (opens new window) 对拉流画面截图
setPlayVolume:streamID: (opens new window) setRemoteAudioVolume (opens new window) 设置拉流音量
setAllPlayStreamVolume: (opens new window) - 设置所有拉流音量
setPlayStreamVideoLayer:streamID: (opens new window) setRemoteViewConfig (opens new window) 设置选取拉流视频图层
setPlayStreamVideoType:streamID: (opens new window) setRemoteViewConfig (opens new window) 设置播放视频流类型
setPlayStreamBufferIntervalRange:streamID: (opens new window) - 设置拉流播放缓存自适应调整的区间范围
setPlayStreamFocusOn: (opens new window) - 设置拉流优先级的权重
mutePlayStreamAudio:streamID: (opens new window) subscribeRemoteAudioStream (opens new window) 停止或恢复拉取音频流
mutePlayStreamVideo:streamID: (opens new window) subscribeRemoteVideoStream (opens new window) 停止或恢复拉取视频流
muteAllPlayStreamAudio: (opens new window) subscribeAllRemoteAudioStreams (opens new window) 停止或恢复所有拉取音频流
muteAllPlayStreamVideo: (opens new window) subscribeAllRemoteVideoStreams (opens new window) 停止或恢复拉取所有视频流
enableHardwareDecoder: (opens new window) - 开/关硬件解码
enableCheckPoc: (opens new window) - 开/关帧顺序检测
onPlayerStateUpdate:errorCode:extendedData:streamID: (opens new window) - 拉流状态变更回调
onPlayerQualityUpdate:streamID: (opens new window) - 拉流质量回调
onPlayerMediaEvent:streamID: (opens new window) - 拉流媒体事件回调
onPlayerRecvAudioFirstFrame: (opens new window) onFirstAudioPacketReceivedWithUid (opens new window) 拉流端音频接收首帧回调
onPlayerRecvVideoFirstFrame: (opens new window) onFirstVideoPacketReceivedWithUid (opens new window) 拉流端视频接收首帧回调
onPlayerRenderVideoFirstFrame: (opens new window) onFirstRemoteVideoFrameDrawn (opens new window) 拉流端渲染完视频首帧回调
onPlayerVideoSizeChanged:streamID: (opens new window) - 拉流分辨率变更通知
onPlayerRecvSEI:streamID: (opens new window) onMediaExtensionMsgReceived (opens new window) 收到远端流的 SEI 内容

# 信令消息功能

API 阿里 描述 对齐
sendBroadcastMessage:roomID:callback: (opens new window) sendMediaExtensionMsg (opens new window) 发送房间广播消息
sendBarrageMessage:roomID:callback: (opens new window) - 发送房间弹幕消息
sendCustomCommand:toUserList:roomID:callback: (opens new window) - 发送自定义信令
onIMRecvBroadcastMessage:roomID: (opens new window) onMediaExtensionMsgReceived (opens new window) 接收房间广播消息通知
onIMRecvBarrageMessage:roomID: (opens new window) - 接收房间弹幕消息通知
onIMRecvCustomCommand:fromUser:roomID: (opens new window) - 接收自定义信令通知

# 混流功能

API 阿里 描述 对齐
startMixerTask:callback: (opens new window) startPublishLiveStreamWithURL (opens new window) 开始混流任务 否,阿里在参数中设置
stopMixerTask:callback: (opens new window) stopPublishLiveStreamWithURL (opens new window) 停止混流任务 否,阿里在参数中设置
onMixerRelayCDNStateUpdate:taskID: (opens new window) onPublishTaskStateChanged (opens new window) 混流转推 CDN 状态更新通知
onMixerSoundLevelUpdate: (opens new window) - 混流中的每条单流的的声浪更新通知

# 音视频前处理

API 阿里 描述 对齐
enableAEC: (opens new window) sharedInstance (opens new window) 开/关回声消除 否,初始化时,使用extras参数设置
enableHeadphoneAEC: (opens new window) - 是否在使用耳机时开启回声消除
setAECMode: (opens new window) - 设置回声消除模式
enableAGC: (opens new window) sharedInstance (opens new window) 开/关自动增益 否,初始化时,使用extras参数设置
enableANS: (opens new window) sharedInstance (opens new window) 开/关噪声抑制 否,初始化时,使用extras参数设置
enableTransientANS: (opens new window) sharedInstance (opens new window) 开/关瞬态噪声抑制 否,初始化时,使用extras参数设置
setANSMode: (opens new window) - 设置音频噪声抑制模式
enableAudioMixing: (opens new window) startAudioAccompanyWithFile (opens new window)/stopAudioAccompany (opens new window) 开/关 混音功能 否,接口差异较大
setAudioMixingHandler: (opens new window) - 设置混音相关回调
muteLocalAudioMixing: (opens new window) - 禁止或恢复本地播放混音声音
setAudioMixingVolume: (opens new window) setAudioAccompanyVolume (opens new window) 设置混音音量
setAudioMixingVolume:type: (opens new window) - 设置不同类型的混音音量
enableBeautify: (opens new window) setBeautyEffect (opens new window) 开/关美颜
enableBeautify:channel: (opens new window) - 开/关美颜,支持设置其他通道的推流
setBeautifyOption: (opens new window) setBeautyEffect (opens new window) 设置美颜参数 否,参数差异较大
setBeautifyOption:channel: (opens new window) - 设置美颜参数,支持设置其他通道的推流
setAudioEqualizerGain:bandGain: (opens new window) - 设置音效均衡器(EQ)
setVoiceChangerPreset: (opens new window) setAudioEffectVoiceChangerMode (opens new window) 通过预设枚举设置变声
setVoiceChangerParam: (opens new window) setAudioEffectPitchValue (opens new window) 设置变声的具体参数
setReverbPreset: (opens new window) setAudioEffectReverbMode (opens new window) 通过预设枚举设置混响
setReverbAdvancedParam: (opens new window) setAudioEffectReverbParamType (opens new window) 设置混响的具体参数
setReverbEchoParam: (opens new window) - 设置混响回声效果的具体参数
enableVirtualStereo:angle: (opens new window) - 开启推流时带虚拟立体声效果
enablePlayStreamVirtualStereo:angle:streamID: (opens new window) - 开启拉流时带虚拟立体声效果
onAudioMixingCopyData: (opens new window) - 往 SDK 中拷贝混音 PCM 数据,用于将开发者提供的音频数据混到推流的音频数据中。 和 [enableAudioMixing] 结合使用

# 媒体播放器功能

API 阿里 描述 对齐
createMediaPlayer (opens new window) - 创建媒体播放器实例对象
destroyMediaPlayer: (opens new window) - 销毁媒体播放器实例对象
mediaPlayer:stateUpdate:errorCode: (opens new window) - 播放器播放状态回调
mediaPlayer:networkEvent: (opens new window) - 播放器网络状态事件回调
mediaPlayer:playingProgress: (opens new window) - 播放器播放进度回调
mediaPlayer:recvSEI: (opens new window) - 媒体次要信息回调
mediaPlayer:videoFrameRawData:dataLength:param: (opens new window) - 播放器抛视频数据的回调
mediaPlayer:videoFramePixelBuffer:param: (opens new window) - 播放器视频帧 CVPixelBuffer 数据回调
mediaPlayer:audioFrameData:dataLength:param: (opens new window) - 播放器抛音频数据的回调

# 音效播放器功能

API 阿里 描述 对齐
createAudioEffectPlayer (opens new window) - 创建音效播放器实例对象
destroyAudioEffectPlayer: (opens new window) - 销毁音效播放器实例对象
setEventHandler: (opens new window) - 设置音效播放器回调
start:path:config: (opens new window) - 开始播放音效
stop: (opens new window) - 停止播放音效
pause: (opens new window) - 暂停播放音效
resume: (opens new window) - 恢复播放音效
stopAll (opens new window) - 停止播放所有音效
pauseAll (opens new window) - 暂停播放所有音效
resumeAll (opens new window) - 恢复播放所有音效
seekTo:audioEffectID:callback: (opens new window) - 设置指定的播放进度
setVolume:audioEffectID: (opens new window) - 设置音效的播放音量,会同时设置本地播放音量和推流音量
setVolumeAll: (opens new window) - 设置所有音效的播放音量,会同时设置本地播放音量和推流音量
getTotalDuration: (opens new window) - 获取音效资源的总进度
getCurrentProgress: (opens new window) - 获取当前播放进度
loadResource:audioEffectID:callback: (opens new window) - 加载音效资源
unloadResource: (opens new window) - 卸载音效资源
getIndex (opens new window) - 获取音效播放器索引
audioEffectPlayer:audioEffectID:playStateUpdate:errorCode: (opens new window) - 音效播放状态回调

# 录制功能

API 阿里 描述 对齐
startRecordingCapturedData:channel: (opens new window) startRecord (opens new window) 开始录制本端音频或音视频,直接将音视频数据录制到文件
stopRecordingCapturedData: (opens new window) stopRecord (opens new window) 结束录制本端音频或音视频
setDataRecordEventHandler: (opens new window) sharedInstance (opens new window) 设置数据录制事件回调 否,回掉都用sharedInstance接口设置的回掉
onCapturedDataRecordStateUpdate:errorCode:config:channel: (opens new window) onMediaRecordEvent (opens new window) 录制到文件的状态更新回调,当录制过程状态变化时触发
onCapturedDataRecordProgressUpdate:config:channel: (opens new window) - 录制进度更新

# 设备管理

API 阿里 描述 对齐
muteMicrophone: (opens new window) muteLocalMic (opens new window) 是否静音(关闭)麦克风
isMicrophoneMuted (opens new window) - 检查麦克风是否设置为静音
muteSpeaker: (opens new window) - 是否静音(关闭)音频输出
isSpeakerMuted (opens new window) - 检查音频输出是否静音
getAudioDeviceList: (opens new window) getAudioCaptures (opens new window)/getAudioRenderers (opens new window) 获取音频设备列表 否,阿里分为两个接口
getDefaultAudioDeviceID: (opens new window) getCurrentAudioCaptureID (opens new window)/getCurrentAudioRendererID (opens new window) 获取默认音频设备 ID 否,阿里分为两个接口
useAudioDevice:deviceType: (opens new window) setCurrentAudioCaptureWithID (opens new window)/setCurrentAudioRendererWithID (opens new window) 选择使用某个音频设备 否,阿里分为两个接口
getAudioDeviceVolume:deviceType: (opens new window) - 获取音频设备音量
setAudioDeviceVolume:deviceType:volume: (opens new window) setRecordingVolume (opens new window)/setPlayoutVolume (opens new window) 设置音频设备音量。 否,阿里分为两个接口
startAudioDeviceVolumeMonitor:deviceType: (opens new window) - 开启音频设备音量监控。
stopAudioDeviceVolumeMonitor:deviceType: (opens new window) - 开启音频设备音量监控。
muteAudioDevice:deviceType🔇 (opens new window) - 静音或取消静音音频设备。
isAudioDeviceMuted:deviceType: (opens new window) - 检查音频设备是否静音
enableAudioCaptureDevice: (opens new window) startAudioCapture (opens new window)/stopAudioCapture (opens new window) 开/关音频采集设备 否,阿里分为两个接口
getAudioRouteType (opens new window) - 获取当前音频路由
setAudioRouteToSpeaker: (opens new window) - 设置音频路由到扬声器
enableCamera: (opens new window) - 开/关摄像头
enableCamera:channel: (opens new window) - 开/关摄像头,支持设置其他通道的推流
useFrontCamera: (opens new window) switchCamera (opens new window) 切换前后摄像头
useFrontCamera:channel: (opens new window) - 切换前后摄像头,支持设置其他通道的推流
setCameraZoomFactor: (opens new window) setCameraZoom (opens new window) 设置摄像头变焦倍数
setCameraZoomFactor:channel: (opens new window) - 设置摄像头变焦倍数
getCameraMaxZoomFactor (opens new window) - 获取摄像头最大变焦倍数
getCameraMaxZoomFactor: (opens new window) - 获取摄像头最大变焦倍数
useVideoDevice: (opens new window) setCurrentCameraWithID (opens new window) 选择使用某个视频设备
useVideoDevice:channel: (opens new window) - 选择使用某个视频设备,支持设置其他通道的推流
getVideoDeviceList (opens new window) getCameraList (opens new window) 获取视频设备列表
getDefaultVideoDeviceID (opens new window) getCurrentCameraID (opens new window) 获取默认视频设备ID
startSoundLevelMonitor (opens new window) - 启动声浪监控
startSoundLevelMonitor: (opens new window) - 启动声浪监控,支持设置监听间隔
stopSoundLevelMonitor (opens new window) - 停止声浪监控
startAudioSpectrumMonitor (opens new window) - 启动音频频谱监控
startAudioSpectrumMonitor: (opens new window) - 启动音频频谱监控,支持设置监听间隔
stopAudioSpectrumMonitor (opens new window) - 停止音频频谱监控
enableHeadphoneMonitor: (opens new window) enableEarBack (opens new window) 开启/关闭 耳返
setHeadphoneMonitorVolume: (opens new window) setEarBackVolume (opens new window) 设置耳返音量
enableMixSystemPlayout: (opens new window) - 开启/关闭 系统声卡采集
setMixSystemPlayoutVolume: (opens new window) - 设置系统声卡采集的音量
enableMixEnginePlayout: (opens new window) - 开启/关闭 将引擎播放的声音混到推流中
onAudioDeviceStateChanged:updateType:deviceType: (opens new window) onAudioDeviceStateChanged (opens new window) 音频设备状态改变
onAudioDeviceVolumeChanged:deviceType:deviceID: (opens new window) - 音频设备音量改变
onVideoDeviceStateChanged:updateType: (opens new window) - 视频设备状态改变
onCapturedSoundLevelUpdate: (opens new window) - 本地采集音频声浪回调
onRemoteSoundLevelUpdate: (opens new window) - 远端拉流音频声浪回调
onCapturedAudioSpectrumUpdate: (opens new window) - 本地采集音频频谱回调
onRemoteAudioSpectrumUpdate: (opens new window) - 远端拉流音频频谱回调
onDeviceError:deviceName: (opens new window) - 设备异常通知
onRemoteCameraStateUpdate:streamID: (opens new window) - 远端摄像头设备状态通知
onRemoteMicStateUpdate:streamID: (opens new window) - 远端麦克风设备状态通知
onAudioRouteChange: (opens new window) - 音频设备路由变更通知

# 自定义视频采集和渲染

API 阿里 描述 对齐
enableCustomVideoRender:config: (opens new window) - 开始或停止自定义视频渲染
setCustomVideoRenderHandler: (opens new window) - 设置自定义视频渲染回调
enableCustomVideoCapture:config: (opens new window) setExternalVideoSource (opens new window) 开始或停止自定义视频采集 否,接口差异较大
enableCustomVideoCapture:config:channel: (opens new window) - 开始或停止自定义视频采集,支持设置其他通道的推流
setCustomVideoCaptureHandler: (opens new window) - 设置自定义视频采集回调
sendCustomVideoCaptureTextureData:size:timestamp: (opens new window) pushExternalVideoFrame (opens new window) 向 SDK 发送自定义采集的视频帧 Texture 数据 否,接口差异较大
sendCustomVideoCaptureTextureData:size:timestamp:channel: (opens new window) - 向 SDK 发送自定义采集的视频帧 Texture 数据,支持其他路推流
sendCustomVideoCapturePixelBuffer:timestamp: (opens new window) pushExternalVideoFrame (opens new window) 向 SDK 发送自定义采集的视频帧 CVPixelBuffer 数据 否,接口差异较大
sendCustomVideoCapturePixelBuffer:timestamp:channel: (opens new window) - 向 SDK 发送自定义采集的视频帧 CVPixelBuffer 数据,支持其他路推流
sendCustomVideoCaptureEncodedData:params:timestamp: (opens new window) - 给 SDK 发送自定义采集的视频帧编码后的数据
sendCustomVideoCaptureEncodedData:params:timestamp:channel: (opens new window) - 给 SDK 发送自定义采集的视频帧编码后的数据,支持其他路推流
setCustomVideoCaptureFillMode: (opens new window) - 设置自定义视频采集画面缩放填充模式
setCustomVideoCaptureFillMode:channel: (opens new window) - 设置自定义视频采集画面缩放填充模式,支持其他路推流
setCustomVideoCaptureFlipMode: (opens new window) - 设置自定义采集画面翻转模式,仅当自定义采集类型为 Texture2D 时,此函数生效。
setCustomVideoCaptureFlipMode:channel: (opens new window) - 设置自定义采集画面翻转模式,支持其他路推流。仅当自定义采集类型为 Texture2D 时,此函数生效。
onStart: (opens new window) - SDK 通知将要开始采集视频帧,收到该回调后向 SDK 发送的视频帧数据才有效
onStop: (opens new window) - SDK 通知将要停止采集视频帧
onEncodedDataTrafficControl:channel: (opens new window) - SDK 检测到网络变化,通知开发者需要做流量控制由于自定义采集传输已编码数据的情况下,SDK 无法得知外部的编码配置,因此流控操作需要开发者自行完成SDK 会根据当前的网络情况,将视频配置的推荐值通知到开发者,开发者需要自行对编码器配置进行修改,以保证视频传输的流畅性请不要在此回调中执行耗时操作,若需执行耗时操作,请切换线程
onCapturedVideoFrameRawData:dataLength:param:flipMode:channel: (opens new window) onCaptureVideoSample (opens new window) 本地预览视频帧裸数据回调
onRemoteVideoFrameRawData:dataLength:param:streamID: (opens new window) onRemoteVideoSample (opens new window) 远端拉流视频帧裸数据回调,通过 streamID 区分不同的流
onCapturedVideoFrameCVPixelBuffer:param:flipMode:channel: (opens new window) onCaptureVideoSample (opens new window) 本地预览视频帧 CVPixelBuffer 数据回调 否,2.4.1暂时不能获取 CVPixelBuffer 格式
onRemoteVideoFrameCVPixelBuffer:param:streamID: (opens new window) onRemoteVideoSample (opens new window) 远端拉流视频帧 CVPixelBuffer 数据回调,通过 streamID 区分不同的流
onRemoteVideoFrameEncodedData:dataLength:param:referenceTimeMillisecond:streamID: (opens new window) - 远端拉流视频帧编码数据回调,通过 streamID 区分不同的流
prepareForReplayKit (opens new window) - 初始化 Express ReplayKit 模块
handleReplayKitSampleBuffer:bufferType: (opens new window) - 处理 ReplayKit 的 SampleBuffer,支持接收视频与音频 Buffer
enableCustomVideoProcessing:config: (opens new window) - 自定义视频前处理配置开关
setCustomVideoProcessHandler: (opens new window) - 设置自定义视频前处理回调
sendCustomVideoProcessedCVPixelBuffer:timestamp: (opens new window) - 将自定义视频前处理后的 [CVPixelBuffer] 类型视频数据发送给 SDK
sendCustomVideoProcessedCVPixelBuffer:timestamp:channel: (opens new window) - 将自定义视频前处理后的 [CVPixelBuffer] 类型视频数据发送给 SDK。支持其他路推流
onStart: (opens new window) - SDK 通知开发者将要开始进行视频前处理
onStop: (opens new window) - SDK 通知开发者停止进行视频前处理
onCapturedUnprocessedCVPixelBuffer:timestamp:channel: (opens new window) - 当获取到 [CVPixelBuffer] 类型的原始视频数据时回调

# 自定义音频采集和渲染

API 阿里 描述 对齐
enableCustomAudioCaptureProcessing:config: (opens new window) - 开启本地采集自定义音频处理
enableCustomAudioRemoteProcessing:config: (opens new window) - 开启远端拉流自定义音频处理
setCustomAudioProcessHandler: (opens new window) - 设置自定义音频处理回调
enableAudioDataCallback:callbackBitMask:param: (opens new window) - 开启额外接收音频数据的回调
startAudioDataObserver:param: (opens new window) - 开启音频数据回调监测
stopAudioDataObserver (opens new window) - 停止音频数据回调监测
setAudioDataHandler: (opens new window) - 设置额外接收音频数据的回调
enableCustomAudioIO:config: (opens new window) - 开启自定义音频 IO 功能
enableCustomAudioIO:config:channel: (opens new window) - 开启自定义音频 IO 功能,支持其他路推流
sendCustomAudioCaptureAACData:dataLength:configLength:timestamp:param: (opens new window) - 发送自定义音频采集 AAC 数据
sendCustomAudioCaptureAACData:dataLength:configLength:timestamp:param:channel: (opens new window) - 发送自定义音频采集 AAC 数据,支持设置其他通道的推流
sendCustomAudioCapturePCMData:dataLength:param: (opens new window) - 发送自定义音频采集 PCM 数据
sendCustomAudioCapturePCMData:dataLength:param:channel: (opens new window) - 发送自定义音频采集 PCM 数据,支持其他路推流
fetchCustomAudioRenderPCMData:dataLength:param: (opens new window) - 撷取远端拉流自定义音频渲染 PCM 数据
onProcessCapturedAudioData:dataLength:param: (opens new window) - 自定义音频处理本地采集 PCM 音频帧回调
onProcessRemoteAudioData:dataLength:param:streamID: (opens new window) - 自定义音频处理远端拉流 PCM 音频帧回调
onCapturedAudioData:dataLength:param: (opens new window) - 获取本地麦克风采集到的音频数据的回调
onPlaybackAudioData:dataLength:param: (opens new window) - 获取 SDK 播放的音频数据的回调
onMixedAudioData:dataLength:param: (opens new window) - 获取所有拉到的流的音频数据和本地麦克风采集到的音频数据的回调,该音频数据是经过 SDK 混合之后的数据
onPlayerAudioData:dataLength:param:streamID: (opens new window) - 获取 SDK 每条拉流的音频数据的回调

# 媒体推流器

暂不支持 ​

# 实用工具

API 描述 对齐
startPerformanceMonitor: (opens new window) - 启动系统性能状态监控,支持设置监听间隔
stopPerformanceMonitor (opens new window) - 停止系统性能状态监控
startNetworkProbe:callback: (opens new window) startLastmileDetect (opens new window) 启动网络探测
stopNetworkProbe (opens new window) stopLastmileDetect (opens new window) 停止网络探测
startNetworkSpeedTest: (opens new window) - 开始网络测速
startNetworkSpeedTest:interval: (opens new window) - 开始网络测速
stopNetworkSpeedTest (opens new window) - 停止网络测速
getNetworkTimeInfo (opens new window) - 获取同步网络时间信息,包括时间戳和最大误差
onPerformanceStatusUpdate: (opens new window) - 系统性能监控状态回调
onNetworkModeChanged: (opens new window) - 网络模式变更回调
onNetworkSpeedTestError:type: (opens new window) - 网络测速异常回调通知
onNetworkSpeedTestQualityUpdate:type: (opens new window) onLastmileDetectResultWithQuality (opens new window) 网络测速质量回调通知。 否,声网是上下行,阿里一个
onRecvExperimentalAPI: (opens new window) - 接收自定义 JSON 内容
onNetworkQuality:txQuality:rxQuality: (opens new window) - 回报房间中流的网络质量

# 废弃接口列表

API 阿里 描述 对齐
setReverbParam: (opens new window) - 设置混响的具体参数
setBuiltInSpeakerOn: (opens new window) - 是否使用内置扬声器播放声音。此函数在 2.3.0 版本以后已废弃,请使用 [setAudioRouteToSpeaker] 代替。