# 腾讯8.8与阿里2.4.1接口对比

  • 整理时间 :2021年7月8日
  • 腾讯版本:v8.8
  • 阿里版本:2.4.1
  • 端:iOS&Mac ​

本文统计:腾讯官网文档暴露出来的主要接口与回调163个, 完全对齐119-32 = 84个 未对齐111-32 = 79个

# 方法

# 创建与销毁

API 阿里 描述 对齐
delegate (opens new window) sharedInstance (opens new window) 设置回调接口 TRTCCloudDelegate (opens new window) 否(阿里:初始化的时候设置,不能单独设置)
delegateQueue (opens new window) setDelegateQueue (opens new window)/enableDelegateMainQueue (opens new window) 设置驱动 TRTCCloudDelegate (opens new window)回调的队列
sharedInstance (opens new window) sharedInstance (opens new window) 创建 TRTCCloud (opens new window) 单例
destroySharedIntance (opens new window) destroy (opens new window) 销毁 TRTCCloud (opens new window) 单例

# 房间相关接口函数

API 阿里 描述 对齐
enterRoom (opens new window) joinChannel (opens new window) 进入房间。
exitRoom (opens new window) leaveChannel (opens new window) 离开房间。
switchRole (opens new window) setClientRole (opens new window) 切换角色,仅适用于直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom)
connectOtherRoom (opens new window) startChannelRelay (opens new window) 请求跨房通话(主播 PK)。
disconnectOtherRoom (opens new window) stopChannelRelay (opens new window) 退出跨房通话。
setDefaultStreamRecvMode (opens new window) setDefaultSubscribeAllRemoteVideoStreams (opens new window)/setDefaultSubscribeAllRemoteAudioStreams (opens new window) 设置音视频数据接收模式,需要在进房前设置才能生效。
createSubCloud (opens new window) createChannelWithDelegate (opens new window) 创建子 TRTCCloud (opens new window) 实例。
destroySubCloud (opens new window) destroyChannel (opens new window) 销毁子 TRTCCloud (opens new window)实例。
switchRoom (opens new window) switchChannel (opens new window) 切换房间。

# CDN 相关接口函数

API 阿里 描述 对齐
startPublishing (opens new window) - 开始向腾讯云的直播 CDN 推流。
stopPublishing (opens new window) - 停止向腾讯云的直播 CDN 推流。
startPublishCDNStream (opens new window) startPublishLiveStreamWithURL (opens new window) 开始向友商云的直播 CDN 转推。
stopPublishCDNStream (opens new window) stopPublishLiveStreamWithURL (opens new window) 停止向非腾讯云地址转推。
setMixTranscodingConfig (opens new window) setLiveStreamingViewConfig (opens new window) 设置云端的混流转码参数。

# 视频相关接口函数

API 阿里 描述 对齐
startLocalPreview (opens new window) startPreview (opens new window) 开启本地视频的预览画面 (iOS 版本)。
startLocalPreview (opens new window) startPreview (opens new window) 开启本地视频的预览画面 (Mac 版本)。
updateLocalView (opens new window) - 更新本地视频预览画面的窗口。
stopLocalPreview (opens new window) stopPreview (opens new window) 停止本地视频采集及预览。
muteLocalVideo (opens new window) publishLocalVideoStream (opens new window) 暂停/恢复推送本地的视频数据。
setVideoMuteImage (opens new window) - 设置暂停推送本地视频时要推送的图片。
startRemoteView (opens new window) setRemoteViewConfig (opens new window) 开始拉取并显示指定用户的远端画面。
updateRemoteView (opens new window) - 更新远端视频画面的窗口。
stopRemoteView (opens new window) setRemoteViewConfig (opens new window)+subscribeRemoteVideoStream (opens new window) 停止显示远端视频画面,同时不再拉取该远端用户的视频数据流。 否(可以用这2个接口完一样的功能)
stopAllRemoteView (opens new window) +subscribeAllRemoteVideoStreams (opens new window) 停止显示所有远端视频画面,同时不再拉取远端用户的视频数据流。
muteRemoteVideoStream (opens new window) subscribeRemoteVideoStream (opens new window) 暂停/恢复接收指定的远端视频流。
muteAllRemoteVideoStreams (opens new window) subscribeAllRemoteVideoStreams (opens new window) 暂停/恢复接收所有远端视频流。
setVideoEncoderParam (opens new window) setVideoEncoderConfiguration (opens new window) 设置视频编码器相关参数。
setNetworkQosParam (opens new window) - 设置网络流控相关参数。
setLocalRenderParams (opens new window) setLocalViewConfig (opens new window) 本地图像的渲染设置。
setRemoteRenderParams (opens new window) setRemoteViewConfig (opens new window) 远端图像的渲染设置。
setVideoEncoderRotation (opens new window) setVideoEncoderConfiguration (opens new window) 设置视频编码输出的画面方向,即设置远端用户观看到的和服务器录制的画面方向。
setVideoEncoderMirror (opens new window) setVideoEncoderConfiguration (opens new window) 设置编码器输出的画面镜像模式。
setGSensorMode (opens new window) setVideoEncoderConfiguration (opens new window) 设置重力感应的适应模式。 否(阿里的是所有的设置都在同一个接口里)
enableEncSmallVideoStream (opens new window) publishLocalDualStream (opens new window) 开启大小画面双路编码模式。
setRemoteVideoStreamType (opens new window) setRemoteVideoStreamType (opens new window) 切换指定远端用户的大小画面。
snapshotVideo (opens new window) snapshotVideo (opens new window) 视频画面截图。

# 音频相关接口函数

API 阿里 描述 对齐
startLocalAudio (opens new window) startAudioCapture (opens new window)+muteLocalMic (opens new window) 开启本地音频的采集和上行。
stopLocalAudio (opens new window) stopAudioCapture (opens new window)+muteLocalMic (opens new window) 关闭本地音频的采集和上行。
muteLocalAudio (opens new window) muteLocalMic (opens new window) 静音/取消静音本地的音频。
muteRemoteAudio (opens new window) muteRemoteAudioPlaying (opens new window) 静音/取消静音指定的远端用户的声音。 否(阿里方没有停止拉流)
muteAllRemoteAudio (opens new window) muteAllRemoteAudioPlaying (opens new window) 静音/取消静音所有用户的声音。
setAudioRoute (opens new window) enableSpeakerphone (opens new window) 设置音频路由。
setRemoteAudioVolume (opens new window) setRemoteAudioVolume (opens new window) 设置某个远程用户的播放音量。
setAudioCaptureVolume (opens new window) setRecordingDeviceVolume (opens new window) 设置 SDK 采集音量。 否(阿里方仅Mac支持)
getAudioCaptureVolume (opens new window) getRecordingDeviceVolume (opens new window) 获取 SDK 采集音量。
setAudioPlayoutVolume (opens new window) setPlayoutDeviceVolume (opens new window) 设置 SDK 播放音量。
getAudioPlayoutVolume (opens new window) getPlayoutDeviceVolume (opens new window) 获取 SDK 播放音量。
enableAudioVolumeEvaluation (opens new window) enableAudioVolumeIndication (opens new window) 启用音量大小提示。
startAudioRecording (opens new window) startRecord (opens new window) 开始录音。
stopAudioRecording (opens new window) stopRecord (opens new window) 停止录音。
startLocalRecording (opens new window) startRecord (opens new window) 开启本地媒体录制(iOS)。
stopLocalRecording (opens new window) stopRecord (opens new window) 停止录制。
startSystemAudioLoopback (opens new window) - 开始录制系统声音,仅适用 Mac 平台。
stopSystemAudioLoopback (opens new window) - 停止录制系统声音,仅适用 Mac 平台。
setSystemAudioLoopbackVolume (opens new window) setRecordingDeviceVolume (opens new window) 设置系统声音采集的音量,仅适用 Mac 平台。

# 设备管理接口

API 阿里 描述 对齐
getDeviceManager (opens new window) - 获取设备管理类 TXDeviceManager。 否(功能阿里也有,就是设计不一样)

# 美颜特效和变脸特效

API 阿里 描述 对齐
getBeautyManager (opens new window) - 获取美颜管理对象。 否(阿里美颜:setBeautyEffect (opens new window)
setWatermark (opens new window) addVideoWatermark (opens new window) 添加水印。

# 音乐特效和人声特效

API 阿里 描述 对齐
getAudioEffectManager (opens new window) - 获取音效管理类 TXAudioEffectManager。 否(阿里没有单独的类,但是这个类的功能都有)

# 屏幕分享相关接口函数

API 阿里 描述 对齐
startScreenCaptureInApp (opens new window) startScreenShare (opens new window) 开始应用内的屏幕分享(该接口仅支持 iOS 13.0 及以上的 iPhone 和 iPad)。
startScreenCaptureByReplaykit (opens new window) - 开始全系统的屏幕分享(该接口支持 iOS 11.0 及以上的 iPhone 和 iPad)。
startScreenCapture (opens new window) startScreenShareWithDesktopId (opens new window)/startScreenShareWithWindowId (opens new window) 开始桌面端屏幕分享(该接口仅支持 Mac OS 桌面系统)。
stopScreenCapture (opens new window) - 停止屏幕采集。
pauseScreenCapture (opens new window) stopScreenShare (opens new window) 暂停屏幕分享。
resumeScreenCapture (opens new window) - 恢复屏幕分享。
getScreenCaptureSourcesWithThumbnailSize (opens new window) getScreenShareSourceInfoWithType (opens new window) 枚举可分享的屏幕窗口,仅支持 Mac OS 平台,建议在 startScreenCapture 之前调用。
selectScreenCaptureTarget (opens new window) updateScreenShareConfig (opens new window) 设置屏幕分享参数,仅支持 Mac OS 平台,该方法在屏幕分享过程中也可以调用。
setSubStreamEncoderParam (opens new window) setScreenShareEncoderConfiguration (opens new window) 设置辅路视频的编码器参数,适用 iOS、Mac 平台。
setSubStreamMixVolume (opens new window) - 设置屏幕分享的混音音量大小,仅适用 Mac 平台。
addExcludedShareWindow (opens new window) - 将指定窗口加入屏幕分享的排除列表中,加入排除列表中的窗口不会被分享出去,仅适用 Mac 平台。
removeExcludedShareWindow (opens new window) - 将指定窗口从屏幕分享的排除列表中移除,仅适用 Mac 平台。
removeAllExcludedShareWindows (opens new window) - 将所有窗口从屏幕分享的排除列表中移除,仅适用 Mac 平台。
addIncludedShareWindow (opens new window) - 将指定窗口加入窗口分享的包含列表中,加入包含列表中的窗口会被一起分享出去,仅适用 Mac 平台。
removeIncludedShareWindow (opens new window) - 将指定窗口从窗口分享的包含列表中移除,仅适用 Mac 平台。
removeAllIncludedShareWindows (opens new window) - 将所有窗口从窗口分享的包含列表中移除,仅适用 Mac 平台。

# 自定义采集和渲染

API 阿里 描述 对齐
generateCustomPTS (opens new window) - 生成自定义采集时间戳。
enableCustomVideoCapture (opens new window) setExternalVideoSource (opens new window) 启用自定义视频采集模式。 是(应该是同一个功能)
sendCustomVideoData (opens new window) pushExternalVideoFrame (opens new window) 向 SDK 中指定 streamType 投送自己采集的视频数据。
enableCustomAudioCapture (opens new window) setExternalAudioSource (opens new window) 启用音频自定义采集模式。
sendCustomAudioData (opens new window) pushExternalAudioFrameRawData (opens new window) 向 SDK 投送自己采集的音频数据。
enableMixExternalAudioFrame (opens new window) setMixedWithMic (opens new window) 控制外部音频是否要混入推流和混入播放。
mixExternalAudioFrame (opens new window) - 向 SDK 投送自己附加的音频数据。
setLocalVideoProcessDelegete (opens new window) - 第三方美颜的视频数据回调。
setLocalVideoRenderDelegate (opens new window) - 设置本地视频的自定义渲染回调。
setRemoteVideoRenderDelegate (opens new window) - 设置远端视频的自定义渲染回调。
setAudioFrameDelegate (opens new window) subscribeAudioData (opens new window) 设置音频数据回调。
setCapturedRawAudioFrameDelegateFormat (opens new window) - 设置本地麦克风采集回调出来的 AudioFrame 格式。
setLocalProcessedAudioFrameDelegateFormat (opens new window) - 设置本地采集并经过音频模块前处理后的音频数据回调出来的 AudioFrame 格式。
setMixedPlayAudioFrameDelegateFormat (opens new window) - 设置送入扬声器播放的音频数据回调的 AudioFrame 格式。
enableCustomAudioRendering (opens new window) - 开启音频自定义播放 。
getCustomAudioRenderingFrame (opens new window) - 获取可播放的音频数据。

# 自定义消息发送

API 阿里 描述 对齐
sendCustomCmdMsg (opens new window) - 发送自定义消息给房间内所有用户。
sendSEIMsg (opens new window) sendMediaExtensionMsg (opens new window) 将小数据量的自定义数据嵌入视频帧中。

# 设备和网络测试

API 阿里 描述 对齐
startSpeedTest (opens new window) startLastmileDetect (opens new window) 开始进行网络测速(视频通话期间请勿测试,以免影响通话质量)。
stopSpeedTest (opens new window) stopLastmileDetect (opens new window) 停止服务器测速。

# Log 相关接口函数

API 阿里 描述 对齐
getSDKVersion (opens new window) getSDKVersion (opens new window) 获取 SDK 版本信息。
setLogLevel (opens new window) setLogLevel (opens new window) 设置 Log 输出级别。
setConsoleEnabled (opens new window) - 启用或禁用控制台日志打印。
setLogCompressEnabled (opens new window) - 启用或禁用 Log 的本地压缩。
setLogDirPath (opens new window) setLogDirPath (opens new window) 修改日志保存路径。
setLogDelegate (opens new window) - 设置日志回调。
showDebugView (opens new window) - 显示仪表盘。
setDebugViewMargin (opens new window) - 设置仪表盘的边距。
callExperimentalAPI (opens new window) - 调用实验性 API 接口。

# 回调

# TRTCCloudDelegate @ TXLiteAVSDK

# 错误事件和警告事件

API 阿里 描述 对齐
onError (opens new window) onOccurError (opens new window) 错误回调,表示 SDK 不可恢复的错误,一定要监听并分情况给用户适当的界面提示。
onWarning (opens new window) onOccurWarning (opens new window) 警告回调,用于告知您一些非严重性问题,例如出现了卡顿或者可恢复的解码失败。

# 房间事件回调

API 阿里 描述 对齐
onEnterRoom (opens new window) onJoinChannelResult (opens new window) 已加入房间的回调。
onExitRoom (opens new window) onLeaveChannelResult (opens new window) 离开房间的事件回调。
onSwitchRole (opens new window) onUpdateRoleNotifyWithOldRole (opens new window) 切换角色的事件回调。
onConnectOtherRoom (opens new window) onChannelRelayEvent (opens new window) 请求跨房通话(主播 PK)的结果回调。
onDisconnectOtherRoom (opens new window) onChannelRelayEvent (opens new window) 结束跨房通话(主播 PK)的结果回调。
onSwitchRoom (opens new window) - 切换房间 (switchRoom) 的结果回调。 否(阿里:SDK会先触发离开原频道的onLeaveChannelResult (opens new window)回调,再返回加入新频道的onJoinChannelResult回调。)

# 成员事件回调

API 阿里 描述 对齐
onRemoteUserEnterRoom (opens new window) onRemoteUserOnLineNotify (opens new window) 有用户加入当前房间。
onRemoteUserLeaveRoom (opens new window) onRemoteUserOffLineNotify (opens new window) 有用户离开当前房间。
onUserVideoAvailable (opens new window) onVideoSubscribeStateChanged (opens new window) 远端用户是否存在可播放的主路画面(一般用于摄像头)。
onUserSubStreamAvailable (opens new window) onDualStreamPublishStateChanged (opens new window) 远端用户是否存在可播放的辅路画面(一般用于屏幕分享)。
onUserAudioAvailable (opens new window) onAudioPublishStateChanged (opens new window) 远端用户是否存在可播放的音频数据。
onFirstVideoFrame (opens new window) onFirstLocalVideoFrameDrawn (opens new window) 开始渲染本地或远程用户的首帧画面。
onFirstAudioFrame (opens new window) - 开始播放远程用户的首帧音频(本地声音暂不通知)。 否(阿里:onFirstAudioPacketReceivedWithUid (opens new window)
onSendFirstLocalVideoFrame (opens new window) onFirstVideoPacketSentWithVideoTrack (opens new window) 首帧本地视频数据已经被送出。
onSendFirstLocalAudioFrame (opens new window) onFirstAudioPacketSentWithTimecost (opens new window) 首帧本地音频数据已经被送出。

# 统计和质量回调

API 阿里 描述 对齐
onNetworkQuality (opens new window) onLastmileDetectResultWithQuality (opens new window) 网络质量,该回调每2秒触发一次,统计当前网络的上行和下行质量。
onStatistics (opens new window) onRtcStats (opens new window) 技术指标统计回调。

# 服务器事件回调

API 阿里 描述 对齐
onConnectionLost (opens new window) onConnectionLost (opens new window) SDK 跟服务器的连接断开。
onTryToReconnect (opens new window) onTryToReconnect (opens new window) SDK 尝试重新连接到服务器。
onConnectionRecovery (opens new window) onConnectionRecovery (opens new window) SDK 跟服务器的连接恢复。

# 硬件设备事件回调

API 阿里 描述 对齐
onCameraDidReady (opens new window) - 摄像头准备就绪。
onMicDidReady (opens new window) - 麦克风准备就绪。
onAudioRouteChanged (opens new window) - 音频路由发生变化(仅 iOS),音频路由即声音由哪里输出(扬声器或听筒)。
onUserVoiceVolume (opens new window) onAudioVolumeCallback (opens new window) 用于提示音量大小的回调,包括每个 userId 的音量和远端总音量。
onDevice (opens new window) onAudioDeviceStateChanged (opens new window) 本地设备通断回调。 否(阿里的只有音频设备有这个回调)
onAudioDeviceCaptureVolumeChanged (opens new window) onAudioDeviceRecordLevel (opens new window) 当前音频采集设备音量变化回调。
onAudioDevicePlayoutVolumeChanged (opens new window) onAudioDevicePlayoutLevel (opens new window) 当前音频播放设备音量变化回调。
onSystemAudioLoopbackError (opens new window) - 系统声音采集结果回调。

# 自定义消息的接收回调

API 阿里 描述 对齐
onRecvCustomCmdMsgUserId (opens new window) - 收到自定义消息回调。
onMissCustomCmdMsgUserId (opens new window) - 自定义消息丢失回调。
onRecvSEIMsg (opens new window) onMediaExtensionMsgReceived (opens new window) 收到 SEI 消息的回调。

# CDN 旁路转推回调

API 阿里 描述 对齐
onStartPublishing (opens new window) - 开始向腾讯云的直播 CDN 推流的回调,对应于 TRTCCloud (opens new window) 中的 startPublishing() 接口。
onStopPublishing (opens new window) - 停止向腾讯云的直播 CDN 推流的回调,对应于 TRTCCloud (opens new window) 中的 stopPublishing() 接口。
onStartPublishCDNStream (opens new window) onPublishLiveStreamStateChanged (opens new window)/onPublishTaskStateChanged (opens new window) 启动旁路推流到 CDN 完成的回调。
onStopPublishCDNStream (opens new window) onPublishTaskStateChanged (opens new window)/onPublishTaskStateChanged (opens new window) 停止旁路推流到 CDN 完成的回调。
onSetMixTranscodingConfig (opens new window) - 设置云端的混流转码参数的回调,对应于 TRTCCloud (opens new window) 中的 setMixTranscodingConfig() 接口。

# 音效回调

API 阿里 描述 对齐
onAudioEffectFinished (opens new window) onAudioEffectFinished (opens new window) 播放音效结束回调。

# 屏幕分享回调

API 阿里 描述 对齐
onScreenCaptureStarted (opens new window) - 当屏幕分享开始时,SDK 会通过此回调通知。
onScreenCapturePaused (opens new window) - 当屏幕分享暂停时,SDK 会通过此回调通知。
onScreenCaptureResumed (opens new window) - 当屏幕分享恢复时,SDK 会通过此回调通知。
onScreenCaptureStoped (opens new window) - 当屏幕分享停止时,SDK 会通过此回调通知。

# 媒体录制回调

API 阿里 描述 对齐
onLocalRecordBegin (opens new window) onMediaRecordEvent (opens new window) 媒体录制回调。
onLocalRecording (opens new window) onMediaRecordEvent (opens new window) 录制信息更新回调。
onLocalRecordComplete (opens new window) onMediaRecordEvent (opens new window) 录制任务已结束。

# 第三方美颜回调

API 描述 对齐
onProcessVideoFrame (opens new window) onTextureUpdate (opens new window) 第三方美颜的视频数据回调,需要使用 TRTCCloud (opens new window) 中的 setLocalVideoProcessDelegete 接口进行设置。
onGLContextDestory (opens new window) - SDK 内部的 OpenGL 环境的销毁通知。 否(类似的有:onTextureDestory (opens new window)

# 视频数据帧的自定义处理回调

API 阿里 描述 对齐
onRenderVideoFrame (opens new window) - 自定义视频渲染回调。

# 声音数据帧的自定义处理回调

API 阿里 描述 对齐
onCapturedRawAudioFrame (opens new window) onAudioSampleCallback (opens new window) 本地麦克风采集到的原始音频数据回调。
onLocalProcessedAudioFrame (opens new window) onAudioSampleCallback (opens new window) 本地采集并经过音频模块前处理后的音频数据回调。
onRemoteUserAudioFrame (opens new window) - 混音前的每一路远程用户的音频数据,即混音前的各路原始数据。例如,对某一路音频进行文字转换时,您必须使用该路音频的原始数据。
onMixedPlayAudioFrame (opens new window) onAudioSampleCallback (opens new window) 各路音频数据混合后的音频数据。
onMixedAllAudioFrame (opens new window) - SDK所有音频数据混合后的数据回调(包括采集音频数据和所有播放音频数据)。

# 日志相关回调

建议在比较早初始化的类中设置回调委托对象,例如 AppDelegate。

API 阿里 描述 对齐
onLog (opens new window) - 有日志打印时的回调。