AliRtcEngine接口

本文介绍实时音视频Mac SDK接口详情。

目录

基础接口

API

功能描述

sharedInstance

获取一个AliRtcEngine实例。

destroy[1/2]

销毁引擎。

destroy[2/2]

带回调的销毁引擎。

setH5CompatibleMode

设置H5兼容模式。

getH5CompatibleMode

检查当前是否兼容H5。

getSdkVersion

获取SDK版本号。

频道相关接口

API

功能描述

setChannelProfile

设置频道模式。

setAudioProfile

设置音频Profile。

isAudioOnly

查询当前是否为纯音频模式。

setAudioOnlyMode

设置为纯音频模式还是音视频模式。

joinChannel[1/4]

加入频道。

joinChannel[2/4]

加入频道。

joinChannel[3/4]

加入频道。

joinChannel[4/4]

加入频道。

leaveChannel

离开频道。

isInCall

检查当前是否在频道中

setClientRole

设置用户角色。

getClientRole

获取用户角色。

refreshAuthInfo

刷新鉴权信息。

refreshAuthInfoWithToken

刷新鉴权信息

发布及订阅相关接口

API

功能描述

publishLocalAudioStream

设置是否发布音频流,默认会推送音频流。

isLocalAudioStreamPublished

查询当前是否推音频流。

setDefaultSubscribeAllRemoteAudioStreams

设置是否默认接收音频流,默认会订阅所有远端音频流;此接口建议入会前调用。

subscribeAllRemoteAudioStreams

停止或恢复接收所有远端音频流。

subscribeRemoteAudioStream

停止或恢复特定远端用户的音频流拉取。

publishLocalVideoStream

设置是否发布视频流。

isLocalVideoStreamPublished

查询当前是否发布视频流。

setDefaultSubscribeAllRemoteVideoStreams

设置是否默认接收视频流,默认会订阅所有远端视频频流;此接口建议入会前调用。

subscribeAllRemoteVideoStreams

停止或恢复接收所有远端视频流。

subscribeRemoteMediaStream [1/2]

停止或恢复特定远端用户的媒体流;建议在音视频都存在且要控制时使用此接口。

subscribeRemoteMediaStream [2/2]

停止/恢复订阅远端用户的音视频流。

subscribeRemoteDestChannelStream

停止或恢复跨频道特定远端用户的媒体流。

subscribeRemoteDestChannelAllStream

订阅目标频道,所有用户的流。

subscribeRemoteVideoStream

停止/恢复订阅远端用户的视频流。

setRemoteAudioVolume

设置远端音频的音量。

音频设备管理相关接口

API

功能描述

muteLocalMic

设置是否停止发布本地音频。

muteRemoteAudioPlaying

设置是否停止播放远端音频流。

muteAllRemoteAudioPlaying

停止或恢复远端所有的音频播放。

startAudioCapture [1/2]

开启音频采集。

startAudioCapture [2/2]

开启音频采集。

stopAudioCapture

关闭音频采集。

enableAudioVolumeIndication

开启音量检测功能。

enableEarBack

启用耳返。

startAudioPlayer

开始音频播放。

stopAudioPlayer

停止音频播放。

setPlayoutVolume

设置播放音量。

setRecordingVolume

设置采集音量。

playAudioFileTest

开始测试音频播放设备。

stopAudioFileTest

停止测试音频播放设备。

startAudioCaptureTest

开始测试音频采集设备。

stopAudioCaptureTest

停止测试音频采集设备。

音频变声与混响

API

功能描述

setAudioEffectVoiceChangerMode

设置变声音效模式。

setAudioEffectPitchValue

设置变调参数。

setAudioEffectReverbMode

设置混响音效模式。

setAudioEffectReverbParamType

设置混响音效类型和具体参数。

自定义音频输入

API

功能描述

addExternalAudioStream

增加外部音频流。

pushExternalAudioStream

输入外部音频流数据。

setExternalAudioStream:publishVolume

设置推流音量。

getExternalAudioStreamPublishVolume

获取推流音量。

setExternalAudioStream:playoutVolume

设置外部音频流播放音量。

getExternalAudioStreamPlayoutVolume

获取外部音频流播放音量。

removeExternalAudioStream

删除外部推流。

音频伴奏

API

功能描述

getAudioFileInfo

获取音频伴奏文件信息。

startAudioAccompanyWithFile

开始播放伴奏文件。

stopAudioAccompany

停止播放伴奏文件。

setAudioAccompanyVolume

设置伴奏音量。

setAudioAccompanyPublishVolume

设置伴奏文件推流音量。

getAudioAccompanyPublishVolume

获取伴奏文件推流音量。

setAudioAccompanyPlayoutVolume

设置伴奏文件播放音量。

getAudioAccompanyPlayoutVolume

获取伴奏文件播放音量。

pauseAudioAccompany

暂停伴奏播放。

resumeAudioAccompany

恢复伴奏播放。

getAudioAccompanyDuration

获取伴奏文件时长。

getAudioAccompanyCurrentPosition

获取当前伴奏播放位置。

setAudioAccompanyPosition

设置伴奏播放位置。

音效文件

API

功能描述

preloadAudioEffectWithSoundId

预加载音效文件。

unloadAudioEffectWithSoundId

删除预加载的音效文件。

playAudioEffectWithSoundId

开始播放音效。

stopAudioEffectWithSoundId

停止播放音效。

stopAllAudioEffects

停止播放所有音效。

pauseAudioEffectWithSoundId

暂停音效。

pauseAllAudioEffects

暂停所有音效。

resumeAudioEffectWithSoundId

恢复指定音效文件。

resumeAllAudioEffects

恢复所有音效文件。

setAudioEffectPublishVolumeWithSoundId

设置音效推流混音音量。

getAudioEffectPublishVolumeWithSoundId

获取音效推流混音音量。

setAllAudioEffectsPublishVolume

设置所有音效推流混音音量。

setAudioEffectPlayoutVolumeWithSoundId

设置音效本地播放音量。

getAudioEffectPlayoutVolumeWithSoundId

获取音效本地播放音量。

setAllAudioEffectsPlayoutVolume

设置所有音效本地播音量。

录制音视频文件

API

功能描述

startRecord

录制音视频文件(aac、wav、mp4)。

stopRecord

停止录制音视频文件。

视频设备管理相关接口

API

功能描述

setLocalViewConfig

为本地预览设置渲染窗口以及绘制参数。

setCameraCapturerConfiguration

设置摄像头采集偏好。

enableLocalVideo

禁用或重新启用本地视频采集。

muteLocalCamera

设置是否停止发布本地视频流。

setRemoteViewConfig

为远端的视频设置渲染窗口以及绘制参数。

isCameraOn

检查摄像头是否打开。

setVideoEncoderConfiguration

设置视频编码属性。

setVideoDecoderConfiguration

设置视频解码属性。

startPreview

开始本地预览。

stopPreview

停止本地预览。

setVideoMirrorMode

设置预览和推流镜像能力。

setCapturePipelineScaleMode

设置采集缩放时机,视频数据是采集的时候立即缩放还是编码时才进行缩放。

配置视频数据回调

API

功能描述

registerVideoFrameWithObserver

注册视频数据回调。

unregisterVideoSampleWithObserver

反注册视频数据回调。

snapshotVideo

摄像头截图。

registerVideoSampleObserver

注册视频数据输出callback。

unRegisterVideoSampleObserver

取消注册视频数据输出callback。

配置音频数据回调

API

功能描述

enableAudioFrameObserver

设置音频回调参数。

registerAudioFrameObserver

注册音频数据回调。

自定义视频输入

API

功能描述

setExternalVideoSource

启用外部视频输入源。

pushExternalVideoFrame

输入视频数据。

桌面共享接口

API

功能描述

startScreenShareWithDesktopId

开启共享屏幕推流。

startScreenShareWithWindowId

开启共享屏幕推流。

StopScreenShare

停止共享屏幕推流。

updateScreenShareConfig

设置共享音频流音量。

isScreenSharePublished

查询是否设置推送屏幕分享。

setScreenShareEncoderConfiguration

配置屏幕共享编码参数。

直播旁路接口

API

功能描述

startPublishLiveStreamWithURL

开启旁路直播。

updatePublishLiveStreamWithURL

更新旁路直播相关参数。

stopPublishLiveStreamWithURL

停止旁路直播。

GetPublishLiveStreamStateWithURL

获取旁路直播状态。

网络质量探测接口

API

功能描述

startLastmileDetect

开始网络质量探测。

stopLastmileDetect

停止网络质量探测。

SEI

API

功能描述

sendMediaExtensionMsg

推送SEI流。

sendMediaExtensionMsgEx

推送SEI流(扩展)。

其他接口

API

功能描述

setParameter

设置自定义参数。

getParameter

获取自定义参数。

setLogDirPath

设置SDK日志文件保存路径。

setLogLevel

设置日志等级。

setDeviceOrientationMode

设置设备方向。

getNetworkTime

获取网络时间戳。

sendDataChannelMessage

发送datachannel消息。

回调事件

API

功能描述

onConnectionStatusChange

网络链接状态回调;客户需要关心此回调。

onLocalDeviceException

本地设备异常回调;客户需要关心此回调。

onAuthInfoWillExpire

用户鉴权信息即将过期通知,收到后30秒鉴权过期;客户需要关心此回调。

onAuthInfoExpired

用户调用需要鉴权的接口,服务端返回信息过期。

onJoinChannelResult[1/2]

加入频道结果回调。

onJoinChannelResult[2/2]

加入频道结果回调。

onLeaveChannelResult

离开频道结果回调。

onRemoteUserOffLineNotify

远端用户离线通知。

onRemoteUserOnLineNotify

远端用户上线通知。

onRemoteTrackAvailableNotify

远端推流信息通知。

onBye

被服务器踢出/会议结束频道的消息。

onAudioPublishStateChanged

音频推流状态通知。

onAudioSubscribeStateChanged

音频拉流状态通知。

onUserAudioMuted

远端用户静音通知。

onUserAudioInterruptedBegin

音频设备打断开始通知。

onUserAudioInterruptedEnded

音频设备打断结束通知。

onVideoPublishStateChanged

视频推流变更回调。

onVideoSubscribeStateChanged

相机流订阅情况变更回调。

onUserVideoMuted

对端用户发送视频黑帧数据发送通知。

onUserVideoEnabled

对端用户关闭相机流采集发送通知。

onUserWillResignActive

远端用户应用退到后台。

onUserWillBecomeActive

远端用户应用返回前台。

onAudioEffectFinished

本地音效播放结束回调。

onAudioVolumeCallback

订阅的音频音量,语音状态和uid。

onActiveSpeaker

语音激励,监测到活跃用户回调。

onPublishLiveStreamStateChanged

旁路推流状态改变回调。

onPublishTaskStateChanged

旁路任务状态改变回调。

onNetworkQualityChanged

网络质量变化回调。

onLastmileDetectResultWithQuality

网络质量探测回调。

onLastmileDetectResultWithBandWidth

网络质量探测结果的回调。

onOccurError

如果engine出现error,通过这个回调通知app 。

onFirstAudioPacketSentWithTimecost

音频首包发送回调。

onFirstVideoFrameReceivedWithUid

视频首帧接收回调。

onFirstVideoPacketSentWithVideoTrack

视频首包发送回调。

onFirstAudioPacketReceivedWithUid

音频首包接收回调。

onFirstRemoteAudioDecodedWithUid

已解码远端音频首帧回调。

onFirstRemoteVideoFrameDrawn

远端用户的第一帧视频帧显示时触发这个消息。

onFirstLocalVideoFrameDrawn

预览开始显示第一帧视频帧时触发这个消息。

onTestAudioVolumeCallback

通话前音频采集检测的音量回调。

onAudioAccompanyStateChanged

本地伴奏播放状态回调。

onRemoteAudioAccompanyStarted

远端用户伴奏播放开始回调。

onRemoteAudioAccompanyFinished

远端用户伴奏播放结束回调。

onRtcStats

实时数据回调(2s触发一次)。

onRtcLocalVideoStats

本地视频统计信息(2s触发一次)。

onRtcRemoteVideoStats

远端视频统计信息(2s触发一次)。

onRtcLocalAudioStats

本地音频统计信息(2s触发一次)。

onRtcRemoteAudioStats

远端音频统计信息(2s触发一次)。

onMediaExtensionMsgReceived

收到媒体扩展信息回调。

onSnapshotComplete

截图回调。

onLocalAudioStateChanged

本地音频采集设备状态回调。

onLocalVideoStateChanged

本地视频采集设备状态回调。

onRemoteUserSubscribedDataChannel

可以开始发送data channel消息回调。

onDataChannelMessage

数据通道消息回调。

onScreenSharePublishStateChanged

屏幕分享推流变更回调。

AliRtcAudioFrameDelegate

API

功能描述

onCapturedAudioFrame

采集裸数据回调。

onProcessCapturedAudioFrame

采集3A后数据回调。

onPublishAudioFrame

推流数据回调。

onPlaybackAudioFrame

播放数据回调。

onRemoteUserAudioFrame

远端拉流数据回调。

AliRtcEngineDestroyDelegate

API

功能描述

onDestroyCompletion

释放引擎的回调,该回调执行后才是引擎释放。

AliRtcVideoFrameDelegate

API

功能描述

onCaptureVideoSample

采集视频帧回调。

onPreEncodeVideoSample

订阅的本地编码前视频数据回调。

onRemoteVideoSample

订阅的远端视频数据回调。

onGetVideoFormatPreference

视频数据输出格式。

onGetVideoObservedFramePosition

视频数据输出位置。

API详情

sharedInstance

创建AliRtcEngine实例。

+ (instancetype _Nonnull )sharedInstance:(id<AliRtcEngineDelegate>_Nullable)delegate extras:(NSString *_Nullable)extras;

参数说明

名称

类型

描述

delegate

id<AliRtcEngineDelegate>_Nullable

监听回调的代理。

extras

NSString *_Nullable

通过JSON配置SDK的特别功能。无需特别功能,可填空字符:""。

重要

同一时间只会存在一个主实例。

destroy[1/2]

释放SDK实例。

+ (void)destroy;
重要

在所有操作结束之后调用。

destroy[2/2]

callback的释放引擎。

+ (void)destroy:(id<AliRtcEngineDestroyDelegate>_Nullable)delegate;

参数说明

名称

类型

描述

delegate

id<AliRtcEngineDestroyDelegate> _Nullable

释放后回调对象。

重要

该接口为异步接口,需要等待onDestroyCompletion回调之后才能执行其他方法,为避免主线程阻塞,建议开发者放在子线程调用该方法,但需要注意的是如需在销毁后再次创建 {@link AliRtcEngine} 实例,请开发者务必保证 destroy 方法执行结束后再创建实例。

setH5CompatibleMode

设置是否兼容H5。

+ (void)setH5CompatibleMode:(BOOL)comp;

参数说明

名称

类型

描述

comp

BOOL

YES表示兼容H5,NO表示不兼容H5。默认不兼容H5。

重要

当前版本不支持在创建AliRtcEngine实例之后更改H5兼容模式,必须在创建实例之前就调用此方法。

getH5CompatibleMode

检查是否设置了H5兼容模式。

+ (BOOL)getH5CompatibleMode;

返回说明

YES表示兼容H5,NO表示不兼容H5。

setChannelProfile

设置频道模式。

- (int)setChannelProfile:(AliRtcChannelProfile)profile;

参数说明

名称

类型

描述

profile

AliRtcChannelProfile

频道类型,默认为AliRtcCommunication。RTC场景通常设置为互动模式(AliRtcInteractivelive)。

返回说明

0表示方法调用成功,其他表示方法调用失败。

该接口只可以在加入频道之前调用,会议中不可以重新设置,离开频道后可以重新设置。

setAudioProfile

设置音频Profile。

- (int)setAudioProfile:(AliRtcAudioProfile)audio_profile audio_scene:(AliRtcAudioScenario)audio_scene;

参数说明

名称

类型

描述

audio_profile

AliRtcAudioProfile

音频采集或编码模式参数,建议使用高音质模式(AliRtcEngineHighQualityMode)。

说明

如果需要与 web 互通,需要设置采样率为 48k。

  • AliRtcEngineLowQualityMode:音频低音质模式,默认8000Hz采样率,单声道,最大编码码率12kbps。

  • AliRtcEngineBasicQualityMode:标准音质模式,默认16000Hz采样率,单声道,最大编码码率24kbps。

  • AliRtcEngineHighQualityMode:默认48000Hz采样率,单声道,最大编码码率64kbps。

  • AliRtcEngineStereoHighQualityMode:立体声高音质模式,默认48000Hz采样率,双声道,最大编码码率80kbps。

  • AliRtcEngineSuperHighQualityMode:超高音质模式,默认48000Hz采样率,单声道,最大编码码率96kbps。

  • AliRtcEngineStereoSuperHighQualityMode:立体声超高音质模式,默认48000Hz采样率,双声道,最大编码码率128kbps。

audio_scene

AliRtcAudioScenario

音频场景模式参数,主要包含:

  • AliRtcSceneMusicMode(建议设置):音乐场景,使用软件 3A,从手机采集(音质更高)。

  • AliRtcSceneDefaultMode:使用硬件 3A,可以从蓝牙设备采集。

返回说明

0表示方法调用成功,其他表示方法调用失败。

isAudioOnly

检查当前是否纯音频模式。

- (BOOL)isAudioOnly;

返回说明

YES表示纯音频模式,NO表示音视频模式。

setAudioOnlyMode

设置为纯音频模式还是音视频模式。

- (int)setAudioOnlyMode:(BOOL)audioOnly;

参数说明

名称

类型

描述

audioOnly

BOOL

YES表示只有音频推流和拉流,NO表示音视频都支持,默认值为NO。

返回说明

0表示方法调用成功,其他表示方法调用失败。

joinChannel[1/4]

加入频道。

- (int)joinChannel:(NSString _Nonnull)token channelId:(NSString _Nullable)channelId userId:(NSString _Nullable)userId name:(NSString _Nullable)userName onResultWithUserId:(void(^_Nullable)(NSInteger errCode, NSString _Nonnull channel, NSString _Nonnull userId, NSInteger elapsed))onResult;

加入频道成功后,如果中途需要加入其他频道,必须先调用leaveChannel离开当前频道,如果加入频道失败,需要重试时,无需先调用leaveChannel。

参数说明

参数

类型

描述

token

String

单参数入会的鉴权信息。

channelId

String

入会频道,必须和产生token的值一样。

userId

String

入会的userid,必须和产生token的值一样。

userName

String

用户的显示名称(不是用户ID)。

onResultWithUserId

void(^_Nullable)(NSInteger errCode, NSString _Nonnull channel, NSString _Nonnull userId, NSInteger elapsed)

当此接口执行结束后调用此回调。

返回说明

0表示方法调用成功,非0表示方法调用失败。

重要

该接口是异步接口,是否成功加入频道,需要通过onJoinChannelResult回调判断。

joinChannel[2/4]

加入频道。

- (int)joinChannel:(AliRtcAuthInfo _Nonnull)authInfo name:(NSString _Nullable)userName onResultWithUserId:(void(^_Nullable)(NSInteger errCode, NSString _Nonnull channel, NSString _Nonnull userId, NSInteger elapsed))onResult;

加入频道成功后,如果中途需要加入其他频道,必须先调用leaveChannel离开当前频道,如果加入频道失败,需要重试时,无需先调用leaveChannel。

参数说明

名称

类型

描述

authInfo

AliRtcAuthInfo

鉴权信息。

userName

String

用户的显示名称(不是用户ID)。

onResultWithUserId

void(^_Nullable)(NSInteger errCode, NSString _Nonnull channel, NSString _Nonnull userId, NSInteger elapsed)

当此接口执行结束后调用此回调。

joinChannel[3/4]

加入频道。

- (int)joinChannel:(AliRtcAuthInfo _Nonnull)authInfo name:(NSString _Nullable)userName onResult:(void(^_Nullable)(NSInteger errCode, NSString _Nonnull channel, NSInteger elapsed))onResult;

加入频道成功后,如果中途需要加入其他频道,必须先调用leaveChannel离开当前频道,如果加入频道失败,需要重试时,无需先调用leaveChannel。

参数说明

名称

类型

描述

authInfo

AliRtcAuthInfo

鉴权信息。

userName

String

用户的显示名称(不是用户ID)。

onResult

void(^_Nullable)(NSInteger errCode,NSString _Nonnull channel,NSInteger elapsed)

当此接口执行结束后调用此回调。

joinChannel[4/4]

加入频道。

- (int)joinChannel:(NSString _Nonnull)token channelParam:(AliRtcChannelParam _Nonnull)channelParam onResultWithUserId:(void(^_Nullable)(NSInteger errCode, NSString _Nonnull channel, NSString _Nonnull userId, NSInteger elapsed))onResult;

加入频道成功后,如果中途需要加入其他频道,必须先调用leaveChannel离开当前频道,如果加入频道失败,需要重试时,无需先调用leaveChannel。

参数说明

名称

类型

描述

token

NSString

认证信息,从App Server获取。

channelParam

AliRtcChannelParam

入会参数

onResult

void(^_Nullable)(NSInteger errCode,NSString _Nonnull channel,NSInteger elapsed)

当此接口执行结束后调用此回调。

leaveChannel

离开频道。

- (int)leaveChannel;

返回说明

0表示方法调用成功,其他表示方法调用失败。

isInCall

检查当前是否在频道中。

- (BOOL)isInCall;

返回说明

YES表示在频道中,NO表示不在频道中。

setClientRole

设置用户角色。

- (int)setClientRole:(AliRtcClientRole)role;

参数说明

名称

类型

描述

role

AliRtcClientRole

用户角色类型,默认值为AliRtcClientRoleLive(观众角色),非通信模式下角色类型才有效。

返回说明

0表示方法调用成功,其他表示方法调用失败。

getClientRole

获取用户角色。

- (AliRtcClientRole)getClientRole;

返回说明

返回当前用户角色。

refreshAuthInfo

刷新鉴权信息。

- (int)refreshAuthInfo:(AliRtcAuthInfo _Nonnull)authInfo;

参数说明

名称

类型

描述

authInfo

AliRtcAuthInfo _Nonnull

鉴权信息。

返回说明

0表示方法调用成功,其他表示方法调用失败。

refreshAuthInfoWithToken

刷新鉴权信息。

- (int)refreshAuthInfoWithToken:(NSString _Nonnull)token;

参数说明

名称

类型

描述

token

NSString _Nonnull

单参数入会的鉴权信息。

返回说明

0表示方法调用成功,其他表示方法调用失败。

publishLocalAudioStream

设置是否允许发布音频流。

- (int)publishLocalAudioStream:(BOOL)enabled;

参数说明

名称

类型

描述

enable

BOOL

YES表示发送本地音频流,NO表示停止推流,默认YES。

返回说明

0表示方法调用成功,其他表示方法调用失败。

isLocalAudioStreamPublished

查询当前是否允许推音频流。

- (BOOL)isLocalAudioStreamPublished;

返回说明

YES表示允许推送,NO表示不允许推送。

setDefaultSubscribeAllRemoteAudioStreams

设置是否默认接收音频流。

- (int)setDefaultSubscribeAllRemoteAudioStreams:(BOOL)sub;

参数说明

名称

类型

描述

sub

BOOL

YES表示接收用户的音频流,NO表示停止接收用户的音频流,默认值为YES。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要
  • 入会前、后均可调用。如果在加入频道后调用setDefaultSubscribeAllRemoteAudioStreams:NO,会接收不到设置后加入频道的用户的音频流。

  • 停止接收音频流后,如果想恢复接收某个用户的音频流,请调用subscribeRemoteAudioStream uid sub:YES,对指定的用户进行订阅或取消订阅。

  • 如果想恢复接收多个用户的音频流,则需要多次调用AliRtcEngine接口。setDefaultSubscribeAllRemoteAudioStreams:YES只能恢复接收后面加入频道的用户的音频流。

subscribeAllRemoteAudioStreams

停止或恢复接收所有远端音频流。

- (int)subscribeAllRemoteAudioStreams:(BOOL)sub;

参数说明

名称

类型

描述

sub

BOOL

YES表示接收所有用户的音频流,NO表示停止接收所有用户的音频流,默认值为YES。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要

该接口作为订阅远端音频流的总开关,如果设置为NO,则不仅当前会议中所有远端音频流都会停止订阅,后续入会的新用户也将不再订阅(即使设置了AliRtcEngine接口:YES)。

subscribeRemoteAudioStream

停止或恢复特定远端用户的音频流拉取。

- (int)subscribeRemoteAudioStream:(NSString _Nonnull)uid sub:(BOOL)sub;

参数说明

名称

类型

描述

uid

NSString _Nonnull

远端用户ID。

sub

BOOL

YES表示接收指定用户的音频流,NO表示停止接收指定用户的音频流,默认值为YES。

返回说明

0表示方法调用成功,其他表示方法调用失败。

说明

如果之前有调用过AliRtcEngine接口:NO对所有远端音频进行静音,在调用本API之前请确保您已调用AliRtcEngine接口:YES。AliRtcEngine接口是全局控制,AliRtcEngine接口是精细控制。

publishLocalVideoStream

设置是否允许发布相机流。

- (int)publishLocalVideoStream:(BOOL)enabled;

参数说明

名称

类型

描述

enable

BOOL

YES表示发送视频,NO表示停止发送,默认YES。

返回说明

0表示方法调用成功,其他表示方法调用失败。

isLocalVideoStreamPublished

查询当前是否允许发布视频流。

- (BOOL)isLocalVideoStreamPublished;

返回说明

YES表示发布相机流,NO表示不发布相机流。

setDefaultSubscribeAllRemoteVideoStreams

设置是否默认接收视频流。

- (int)setDefaultSubscribeAllRemoteVideoStreams:(BOOL)sub;

参数说明

名称

类型

描述

sub

BOOL

YES表示接收用户的视频流,NO表示不接收用户的视频流,默认值为YES。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要
  • 入会前、后均可调用。如果在加入频道后调用setDefaultSubscribeAllRemoteVideoStreams:NO,会接收不到设置后加入频道的用户的视频流。

  • 停止接收视频流后,如果想要恢复接收,请调用AliRtcEngine接口:uid track:track sub:YES,并指定您想要接收的远端用户UID。

  • 如果想恢复接收多个用户的视频流,则需要多次调用AliRtcEngine接口,setDefaultSubscribeAllRemoteVideoStreams:YES 只能恢复接收后面加入频道的用户的视频流。

subscribeAllRemoteVideoStreams

停止或恢复接收所有远端视频流。

- (int)subscribeAllRemoteVideoStreams:(BOOL)sub;

参数说明

名称

类型

描述

sub

BOOL

YES表示接收所有用户的视频流,NO表示停止允许接收所有用户的视频流,默认值为YES。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要

该接口作为订阅远端视频流的总开关,如果设置为NO,则不仅当前会议中所有远端视频流都会停止订阅,后续入会的新用户也将不再订阅(即使设置了AliRtcEngine接口:YES)。

subscribeRemoteMediaStream [1/2]

停止或恢复特定远端用户的媒体流。

- (int)subscribeRemoteMediaStream:(NSString _Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack subVideo:(BOOL)subVideo subAudio:(BOOL)subAudio;

参数说明

参数

类型

描述

uid

NSString

远端用户ID。

videoTrack

AliRtcVideoTrack

视频流类型。

subVideo

BOOL

停止或恢复特定远端用户的视频流拉取,取值:
true(默认值):恢复。
false:停止。

subAudio

BOOL

停止或恢复特定远端用户的音频流拉取,取值:
true(默认值):恢复。
false:停止。

返回说明

0表示方法调用成功,其他表示方法调用失败。

subscribeRemoteMediaStream [2/2]

停止或恢复特定远端用户的媒体流。

- (int)subscribeRemoteMediaStream:(NSString _Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack audioTrack:(AliRtcAudioTrack)audioTrack;

参数说明

参数

类型

描述

uid

NSString

远端用户ID。

videoTrack

AliRtcVideoTrack

视频流类型。

audioTrack

AliRtcAudioTrack

音频流类型。

返回说明

0表示方法调用成功,其他表示方法调用失败。

说明

这个接口通过videoTrackaudioTrack通过一个接口把想要的状态告知SDK。

subscribeRemoteDestChannelStream

跨频道订阅指定用户的流。

- (int)subscribeRemoteDestChannelStream:(NSString _Nonnull)channelId uid:(NSString _Nonnull)uid track:(AliRtcVideoTrack)track subAudio:(BOOL)subAudio sub:(BOOL)sub;

参数说明

参数

类型

描述

channelId

NSString

远端频道ID。

uid

NSString

远端用户ID。

track

AliRtcVideoTrack

需要订阅的视频流。

subAudio

BOOL

停止或恢复特定远端用户的音频流拉取,取值:
true(默认值):恢复。
false:停止。

sub

BOOL

停止或恢复跨频道订阅指定用户的流。

返回说明

0表示方法调用成功,其他表示方法调用失败。

muteLocalMic

停止或恢复本地音频数据发送。

- (int)muteLocalMic:(BOOL)mute mode:(AliRtcMuteLocalAudioMode)mode;

参数说明

名称

类型

描述

mute

BOOL

YES表示本地音频发送空帧,NO表示恢复正常,默认值为NO。

mode

AliRtcMuteLocalAudioMode

静音模式,默认麦克风静音模式。

返回说明

0表示方法调用成功,其他表示方法调用失败。

说明

mute只是发送音频数据为静音帧,采集和编码模块仍然在工作。

muteRemoteAudioPlaying

停止或恢复远端的音频播放。

- (int)muteRemoteAudioPlaying:(NSString _Nonnull)uid mute:(BOOL)mute;

参数说明

名称

类型

描述

uid

NSString _Nonnull

用户ID。

mute

BOOL

YES表示停止播放,NO表示恢复播放,默认值为NO。

返回说明

0表示方法调用成功,其他表示方法调用失败。

muteAllRemoteAudioPlaying

停止或恢复远端所有的音频播放。

- (int)muteAllRemoteAudioPlaying:(BOOL)mute;

参数说明

名称

类型

描述

mute

BOOL

YES表示停止播放,NO表示恢复播放,默认值为NO。

返回说明

0表示方法调用成功,其他表示方法调用失败。

说明

拉流和解码不受影响。支持AliRtcEngine接口之前和之后设置。

startAudioCapture [1/2]

开启音频采集。

- (void)startAudioCapture;

返回说明

0表示方法调用成功,其他表示方法调用失败。

说明

此接口可以控制提前打开音频采集,如果不设置,则SDK会在合适的时机在打开音频采集。

startAudioCapture [2/2]

开启音频采集。

- (void)startAudioCapture:(BOOL)keepAlive;

参数说明

参数

类型

描述

keepAlive

BOOL

离会后采集设备的状态,取值:
true:离会后采集设备保持开启状态。
false(默认值):离会后采集设备关闭。

返回说明

0表示方法调用成功,其他表示方法调用失败。

stopAudioCapture

此接口可以控制关闭音频采集,与startAudioCapture对应。

- (void)stopAudioCapture;

返回说明

0表示方法调用成功,其他表示方法调用失败。

startRecord

启动本地音视频录制功能。

- (BOOL)startRecord:(AliRtcRecordType)recordType recordFormat:(AliRtcRecordFormat)recordFormat filePath:(NSString)filePath audioConfig:(AliRtcRecordAudioConfig)audioConfig videoConfig:(AliRtcRecordVideoConfig)videoConfig;

参数说明

名称

类型

描述

recordType

AliRtcRecordType

录制类型

recordFormat

AliRtcRecordFormat

录制格式

filePath

NSString

录制文件名和路径

audioConfig

AliRtcRecordAudioConfig

音频配置

videoConfig

AliRtcRecordVideoConfig

视频配置

返回说明

TRUE成功,其他失败。

重要

如果录制视频文件,请在流推流成功后(onVideoPublishStateChanged)再调用该接口,该接口目前录制写到本地的是本地编码之后的视频流;如果录制音频流,录制的是本地音频和远端音频混音后的音频文件;

stopRecord

停止当前正在进行的录制操作。

- (void)stopRecord;

返回说明

playAudioFileTest

用于测试播放指定路径的音频文件。

- (int)playAudioFileTest:(NSString _Nonnull)filePath;

参数说明

名称

类型

描述

filePath

NSString _Nonnull

播放文件路径

返回说明

0成功,其他失败;

重要

建议在JoinChannel之前调用;

stopAudioFileTest

停止当前正在播放的音频文件。

- (int)stopAudioFileTest;

返回说明

0成功,其他失败。

重要

建议在JoinChannel之前调用。

enableAudioVolumeIndication

启用或禁用音量提示及说话人检测回调。

- (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(NSInteger)reportVad;

参数说明

名称

类型

描述

interval

NSInteger

时间间隔,单位为毫秒,最小值不得小于10ms,建议设置300~500ms,小于等于0表示不启用音量提示和说话人提示功能。

smooth

NSInteger

平滑系数,取值范围:[0,9],数值越大平滑程度越高,反之越低,实时性越好,建议设置3。

reportVad

NSInteger

说话人检测开关,取值:1:开启,通过回调及监听接口回调每一个说话人的状态。0:关闭。

返回说明

0表示方法调用成功,其他表示方法调用失败。

enableEarBack

启用或关闭耳返功能。

- (int)enableEarBack:(BOOL)enable;

参数说明

名称

类型

描述

enable

BOOL

YES表示启用耳返,NO表示关闭耳返,默认值为NO。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setEarBackVolume

设置耳返输出的音量大小。

- (int)setEarBackVolume:(NSInteger)volume;

参数说明

名称

类型

描述

volume

NSInteger

取值范围:[0,100],默认100。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setAudioEffectVoiceChangerMode

设置音频变声效果模式。

- (int)setAudioEffectVoiceChangerMode:(AliRtcAudioEffectVoiceChangerMode)mode;

参数说明

名称

类型

描述

mode

AliRtcAudioEffectVoiceChangerMode

模式值,默认值为AliRtcSdk_AudioEffect_Voice_Changer_OFF。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setAudioEffectPitchValue

- (int)setAudioEffectPitchValue:(double)value;

参数说明

名称

类型

描述

value

double

取值范围:[0.5,2.0],默认为1.0,表示音调不变。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setAudioEffectReverbMode

设置音频混响效果模式。

- (int)setAudioEffectReverbMode:(AliRtcAudioEffectReverbMode)mode;

参数说明

名称

类型

描述

mode

AliRtcAudioEffectReverbMode

音效模式,默认值为AliRtcAudioEffectReverb_Off。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setAudioEffectReverbParamType

设置混响音效的具体参数。

- (int)setAudioEffectReverbParamType:(AliRtcAudioEffectReverbParamType)type value:(float)value;

参数说明

名称

类型

描述

type

AliRtcAudioEffectReverbParamType

音效混响模式。

value

float

具体参数值。

返回说明

0表示方法调用成功,其他表示方法调用失败。

addExternalAudioStream

注册一个外部音频输入流。

- (int)addExternalAudioStream:(AliRtcExternalAudioStreamConfig _Nonnull)config;

参数说明

名称

类型

描述

config

AliRtcExternalAudioStreamConfig

外部音频流配置。

返回说明

>0表示方法调用成功,返回说明为外部音频流ID,其他表示方法调用失败。

pushExternalAudioStream

- (int)pushExternalAudioStream:(int)streamId rawData:(AliRtcAudioFrame _Nonnull)audioFrame;

参数说明

名称

类型

描述

streamId

int

外部音频流Id。

audioFrame

AliRtcAudioFrame

音频数据。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setExternalAudioStream:publishVolume

设置指定外部音频流在推流中的音量。

- (int)setExternalAudioStream:(int)streamId publishVolume:(int)publishVolume;

参数说明

名称

类型

描述

streamId

int

外部音频流Id。

publishVolume

int

推流音量。

返回说明

0表示方法调用成功,其他表示方法调用失败。

getExternalAudioStreamPublishVolume

获取指定外部音频流在推流中的音量。

- (int)getExternalAudioStreamPublishVolume:(int)streamId;

参数说明

名称

类型

描述

streamId

int

外部音频流Id。

返回说明

[0, 100]: 推流音量,< 0: 失败。

setExternalAudioStream:playoutVolume

设置指定外部音频流在本地播放时的音量。

- (int)setExternalAudioStream:(int)streamId playoutVolume:(int)playoutVolume;

参数说明

名称

类型

描述

streamId

int

外部音频流Id。

playoutVolume

int

播放音量。

返回说明

0表示方法调用成功,其他表示方法调用失败。

getExternalAudioStreamPlayoutVolume

获取指定外部音频流在本地播放时的音量。

- (int)getExternalAudioStreamPlayoutVolume:(int)streamId;

参数说明

名称

类型

描述

streamId

int

外部音频流Id。

返回说明

[0, 100]: 播放音量,< 0: 失败。

preloadAudioEffectWithSoundId

将指定音效文件预加载到内存中。

- (int)preloadAudioEffectWithSoundId:(NSInteger)soundId filePath:(NSString _Nonnull)filePath;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

filePath

NSString _Nonnull

音效文件路径。

返回说明

0表示方法调用成功,其他表示方法调用失败。

unloadAudioEffectWithSoundId

从内存中卸载指定ID的音效文件。

- (int)unloadAudioEffectWithSoundId:(NSInteger)soundId;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

返回说明

0表示方法调用成功,其他表示方法调用失败。

playAudioEffectWithSoundId

播放指定ID的音效文件。

- (int)playAudioEffectWithSoundId:(NSInteger)soundId filePath:(NSString _Nonnull)filePath cycles:(NSInteger)cycles publish:(BOOL)publish;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

filePath

NSString _Nonnull

音效文件路径。

cycles

NSInteger

循环次数(可以设置-1或者正整数)。

publish

BOOL

是否发布。

返回说明

0表示方法调用成功,其他表示方法调用失败。

stopAudioEffectWithSoundId

停止播放指定ID的音效。

- (int)stopAudioEffectWithSoundId:(NSInteger)soundId;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

返回说明

0表示方法调用成功,其他表示方法调用失败。

stopAllAudioEffects

停止所有正在播放的音效。

- (int)stopAllAudioEffects;

返回说明

0表示方法调用成功,其他表示方法调用失败。

pauseAudioEffectWithSoundId

暂停指定ID的音效播放。

- (int)pauseAudioEffectWithSoundId:(NSInteger)soundId;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

返回说明

0表示方法调用成功,其他表示方法调用失败。

pauseAllAudioEffects

暂停所有正在播放的音效。

- (int)pauseAllAudioEffects;

返回说明

0表示方法调用成功,其他表示方法调用失败。

resumeAudioEffectWithSoundId

恢复指定ID的音效播放。

- (int)resumeAudioEffectWithSoundId:(NSInteger)soundId;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

返回说明

0表示方法调用成功,其他表示方法调用失败。

resumeAllAudioEffects

恢复所有已暂停的音效播放。

- (int)resumeAllAudioEffects;

返回说明

0表示方法调用成功,其他表示方法调用失败。

setAudioEffectPublishVolumeWithSoundId

设置指定音效在推流中的混音音量。

- (int)setAudioEffectPublishVolumeWithSoundId:(NSInteger)soundId volume:(NSInteger)volume;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

volume

NSInteger

混音音量,取值范围:[0,100],默认值为50。

返回说明

0表示方法调用成功,其他表示方法调用失败。

getAudioEffectPublishVolumeWithSoundId

获取指定音效在推流中的混音音量。

- (int)getAudioEffectPublishVolumeWithSoundId:(NSInteger)soundId;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

返回说明

0表示方法调用成功,其他表示方法调用失败。

html

setAllAudioEffectsPublishVolume

设置所有音效本地播放音量。

- (int)setAllAudioEffectsPublishVolume:(NSInteger)volume;

参数说明

名称

类型

描述

volume

NSInteger

混音音量,取值范围:[0,100],默认值为50。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setAudioEffectPlayoutVolumeWithSoundId

设置音效本地播放音量。

- (int)setAudioEffectPlayoutVolumeWithSoundId:(NSInteger)soundId volume:(NSInteger)volume;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

volume

NSInteger

混音音量,取值范围:[0,100],默认值为50。

返回说明

0表示方法调用成功,其他表示方法调用失败。

getAudioEffectPlayoutVolumeWithSoundId

获取音效本地播放音量。

- (int)getAudioEffectPlayoutVolumeWithSoundId:(NSInteger)soundId;

参数说明

名称

类型

描述

soundId

NSInteger

用户给该音效文件分配的ID。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setAllAudioEffectsPlayoutVolume

设置所有音效推流音量。

- (int)setAllAudioEffectsPlayoutVolume:(NSInteger)volume;

参数说明

名称

类型

描述

volume

NSInteger

混音音量,取值范围:[0,100],默认值为50。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setLocalViewConfig

为本地预览设置渲染窗口以及绘制参数。

- (int)setLocalViewConfig:(AliVideoCanvas _Nullable)viewConfig forTrack:(AliRtcVideoTrack)track;

参数说明

名称

类型

描述

viewConfig

AliVideoCanvas _Nullable

渲染参数,包含渲染窗口以及渲染方式。

track

AliRtcVideoTrack

视频Track的类型。

返回说明

0表示方法调用成功,其他表示方法调用失败。

说明

支持AliRtcEngine接口之前和之后切换窗口。如果canvas或者AliVideoCanvas::viewnil,则停止渲染。如果在播放过程中需要重新设置render mode,请保持canvas中其他成员变量不变,仅修改renderMode。如果在播放过程中需要重新设置mirror mode,请保持canvas中其他成员变量不变,仅修改mirrorMode。

setCameraCapturerConfiguration

设置摄像头采集偏好。

- (int)setCameraCapturerConfiguration:(AliRtcCameraCapturerConfiguration _Nonnull)config;

参数说明

名称

类型

描述

config

AliRtcCameraCapturerConfiguration _Nonnull

摄像头采集偏好,默认值:
preference:0
cameraDirection:0
fps: 0
cameraCaptureProfile: 0
disableVideoCaptureReverse: -1
enableCameraMacroFocus: -1
captureObserverOriginal: -1
nativeBufferObserver: -1
captureCallbackCvpixelbufferToRaw: -1
以上-1表示使用SDK内部默认设置;

返回说明

0表示方法调用成功,其他表示方法调用失败。

enableLocalVideo

禁用或重新启用本地视频采集。

- (int)enableLocalVideo:(BOOL)enable;

参数说明

名称

类型

描述

enable

BOOL

YES表示恢复正常,NO表示停止视频采集,默认YES。

返回说明

0表示方法调用成功,其他表示方法调用失败。

muteLocalCamera

停止或恢复本地视频数据发送。

- (int)muteLocalCamera:(BOOL)mute forTrack:(AliRtcVideoTrack)track;

此接口只是控制指定视频流上是否发送黑帧,本地预览停留在最后一帧,采集和数据发送不会停止,如果需要关闭采集请使用AliRtcEngine接口,如果需要中止视频数据发送请使用AliRtcEngine接口。

参数说明

名称

类型

描述

mute

BOOL

YES表示视频数据发送黑帧,NO表示恢复正常,默认值为NO。

track

AliRtcVideoTrack

需要改变发布状态的视频Track类型。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setRemoteViewConfig

为远端的视频设置渲染窗口以及绘制参数。

- (int)setRemoteViewConfig:(AliVideoCanvas _Nullable)canvas uid:(NSString _Nonnull)uid forTrack:(AliRtcVideoTrack)track;

支持AliRtcEngine接口之前和之后切换窗口。如果canvasnil或者viewnil,则停止渲染相应的流。如果在播放过程中需要重新设置render mode,请保持canvas中其他成员变量不变,仅修改renderMode。如果在播放过程中需要重新设置mirror mode,请保持canvas中其他成员变量不变,仅修改mirrorMode。

参数说明

名称

类型

描述

canvas

AliVideoCanvas _Nullable

渲染参数,包含渲染窗口以及渲染方式。

uid

NSString _Nonnull

用户ID。

track

AliRtcVideoTrack

需要设置的视频Track类型。

返回说明

0表示方法调用成功,其他表示方法调用失败。

isCameraOn

检查摄像头是否打开。

- (BOOL)isCameraOn;

返回说明

YES表示摄像头已打开,NO表示摄像头没有打开。

setVideoEncoderConfiguration

设置视频编码属性。

- (void)setVideoEncoderConfiguration:(AliRtcVideoEncoderConfiguration _Nonnull)config;

参数说明

名称

类型

描述

config

AliRtcVideoEncoderConfiguration _Nonnull

预定义的编码属性,默认值:
dimensions:[640,480]
frameRate:15
bitrate:0
mirrorMode:0
orientationMode:0
rotation:0
codecType:AliRtcVideoCodecTypeDefault
encoderType:AliRtcVideoEncodeCodecTypeDefault
seiForceFrontIFrame: -1
enableDynamicEncode: -1
disableDipenseResolutionChange: -1
enableDowngrade: -1
enableH264BFrame: -1
enableHevcBFrame: -1
backgroundHardwareToSoftware: -1
以上-1表示使用SDK内部默认设置;

setVideoDecoderConfiguration

设置视频解码属性

- (void)setVideoDecoderConfiguration:(AliRtcVideoDecoderConfiguration _Nonnull)config;

参数说明

名称

类型

描述

config

AliRtcVideoDecoderConfiguration _Nonnull

预定义的解码属性,默认值:
codecType:AliRtcVideoCodecTypeDefault
enableDecoderBframe:-1
backgroundHardwareToSoftware:-1
以上-1表示使用SDK内部默认设置;

startPreview

开始本地预览(会自动打开摄像头)。

- (int)startPreview;

如果没有设置view,则无法预览。可以在AliRtcEngine接口之前就开启预览。

返回说明

0表示方法调用成功,其他表示方法调用失败。

stopPreview

停止本地预览。

- (int)stopPreview;

leaveChannel会自动停止本地预览,且会自动关闭摄像头(如果正在推camera流,则不会关闭摄像头)。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setExternalVideoSource

启用外部视频输入源。

- (int)setExternalVideoSource:(BOOL)enable sourceType:(AliRtcVideoSource)type renderMode:(AliRtcRenderMode)renderMode;

参数说明

名称

类型

描述

enable

BOOL

YES表示开启,NO表示关闭。

type

AliRtcVideoSource

流类型。

renderMode

AliRtcRenderMode

渲染模式。

pushExternalVideoFrame

输入视频数据。

- (int)pushExternalVideoFrame:(AliRtcVideoDataSample _Nonnull)frame sourceType:(AliRtcVideoSource)type;

参数说明

名称

类型

描述

frame

AliRtcVideoDataSample _Nonnull

帧数据。

type

AliRtcVideoSource

流类型。

返回说明

0表示方法调用成功,其他表示方法调用失败。

startScreenShareWithDesktopId

开始共享指定的桌面ID对应的屏幕流。

- (int)startScreenShareWithDesktopId:(int)desktopId config:(AliRtcScreenShareConfig * _Nonnull)config;

参数说明

名称

类型

描述

desktopId

int

桌面ID。

config

AliRtcScreenShareConfig

共享桌面的配置。

返回值

  • 0:成功

  • 其他:失败

startScreenShareWithWindowId

根据用户指定的窗口ID,将其作为视频源进行视频流的共享与推送。

- (int)startScreenShareWithWindowId:(int)windowId config:(AliRtcScreenShareConfig * _Nonnull)config;

参数说明

名称

类型

描述

windowId

int

窗口ID。

config

AliRtcScreenShareConfig

屏幕共享配置。

返回值

  • 0:成功

  • 其他:失败

StopScreenShare

停止屏幕共享。

- (int)stopScreenShare;

参数说明

返回值

  • 0:成功

  • 其他:失败

updateScreenShareConfig

更新屏幕共享配置

- (int)updateScreenShareConfig:(AliRtcScreenShareConfig * _Nonnull)config;

参数说明

名称

类型

描述

config

AliRtcScreenShareConfig

屏幕共享配置。

返回值

  • 0:成功;

  • 其他:失败;

isScreenSharePublished

屏幕共享是否推流

- (BOOL)isScreenSharePublished;

参数说明

返回值

  • TRUE:在屏幕共享中;

  • FALSE:不在屏幕共享中;

startPublishLiveStreamWithURL

开启旁路直播。

- (int)startPublishLiveStreamWithURL:(NSString _Nonnull)streamURL liveTranscoding:(AliRtcLiveTranscodingParam _Nonnull)trancoding;

参数说明

名称

类型

描述

streamURL

NSString _Nonnull

推流地址。

trancoding

AliRtcLiveTranscodingParam _Nonnull

推流所需参数。

返回说明

0表示方法调用成功,其他表示方法调用失败。

updatePublishLiveStreamWithURL

更新旁路直播相关参数。

- (int)updatePublishLiveStreamWithURL:(NSString _Nonnull)streamURL liveTranscoding:(AliRtcLiveTranscodingParam _Nonnull)trancoding;

参数说明

名称

类型

描述

streamURL

NSString _Nonnull

推流地址。

trancoding

AliRtcLiveTranscodingParam _Nonnull

推流所需参数。

返回说明

0表示方法调用成功,其他表示方法调用失败。

stopPublishLiveStreamWithURL

停止旁路直播。

- (int)subscribeRemoteDestChannelAllStream:(NSString _Nonnull)channelId track:(AliRtcVideoTrack)track subAudio:(BOOL)subAudio sub:(BOOL)sub;

参数说明

名称

类型

描述

streamURL

NSString _Nonnull

推流地址。

返回说明

0表示方法调用成功,其他表示方法调用失败。

GetPublishLiveStreamStateWithURL

获取旁路直播状态。

- (AliRtcLiveTranscodingState)GetPublishLiveStreamStateWithURL:(NSString _Nonnull)streamURL;

参数说明

名称

类型

描述

streamURL

NSString _Nonnull

推流地址。

返回说明

0表示方法调用成功,其他表示方法调用失败。

startLastmileDetect

开启网络质量探测。

- (int)startLastmileDetect:(AliRtcNetworkQualityProbeConfig _Nonnull)config;

参数说明

名称

类型

描述

config

AliRtcNetworkQualityProbeConfig _Nonnull

探测配置的参数。

返回说明

0表示方法调用成功,其他表示方法调用失败。

stopLastmileDetect

停止网络质量探测。

- (int)stopLastmileDetect;

返回说明

0表示方法调用成功,其他表示方法调用失败。

setParameter

设置自定义参数。

- (int)setParameter:(NSString _Nonnull)param;

参数说明

名称

类型

描述

param

NSString _Nonnull

自定义参数。

getParameter

获取自定义参数。

- (NSString _Nonnull)getParameter:(NSString _Nonnull)param;

参数说明

名称

类型

描述

param

NSString _Nonnull

自定义参数。

enableAudioFrameObserver

设置音频回调参数。

- (int)enableAudioFrameObserver:(bool)enable audioSource: (AliRtcAudioSource)audioSource config:(AliRtcAudioFrameObserverConfig_Nullable)config;

参数说明

名称

类型

描述

enable

bool

是否允许数据回调。

audioSource

AliRtcAudioSource

回调数据源类型。

config

AliRtcAudioFrameObserverConfig _Nullable

回调参数设置。

registerAudioFrameObserver

注册音频数据输出。

- (int)registerAudioFrameObserver:(id<AliRtcAudioFrameDelegate> _Nullable)observer;

参数说明

名称

类型

描述

observer

id<AliRtcAudioFrameDelegate> _Nullable

音频数据回调。

registerVideoSampleObserver

注册视频数据输出。

- (void)registerVideoSampleObserver;

unRegisterVideoSampleObserver

取消注册视频数据输出。

- (void)unregisterVideoSampleObserver;

setLogDirPath

设置SDK日志文件保存路径。

+ (int)setLogDirPath:(NSString _Nullable)logDirPath;

参数说明

名称

类型

描述

logDirPath

NSString _Nullable

日志文件保存绝对路径。iOS端日志默认存储路径为Library/Caches/Ali_RTC_Log。Mac端日志默认存储路径为/Users/xxx/Documents(文稿)/Ali_RTC_Log。

重要

请在调用所有SDK接口前调用此接口,避免日志出现丢失,同时App必须保证指定的目录已存在且可写入。

setLogLevel

设置日志等级。

- (void)setLogLevel:(AliRtcLogLevel)logLevel;

参数说明

名称

类型

描述

logLevel

AliRtcLogLevel

Log级别,默认值为AliRtcLogLevelInfo。

setVideoMirrorMode

设置视频镜像模式。

- (int)setVideoMirrorMode:(AliRtcVideoPipelineMirrorMode)mirrorMode;

参数说明

名称

类型

描述

mirrorMode

AliRtcVideoPipelineMirrorMode

镜像类型。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要

此接口在入会前和入会后均可以动态设置,SDK内部会记录状态,并在可以操作预览及编码的时候对视频进行操作;使用此接口的优先级会高于setLocalViewConfig&setVideoEncoderConfig;此接口与setLocalViewConfig&setVideoEncoderConfig里面的mirror重合,使用时只要使用其中一个即可。

setCapturePipelineScaleMode

设置视频链路缩放模式。

- (void)setCapturePipelineScaleMode:(AliRtcCapturePipelineScaleMode)mode;

参数说明

名称

类型

描述

mode

AliRtcCapturePipelineScaleMode

缩放类型。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要

控制采集缩放时机的模式,默认是采集的时候立即缩放,该API必须在打开摄像头之前设置,startPreview/joinChannel之前。

getSdkVersion

获取SDK版本号。

+ (NSString _Nonnull)getSdkVersion;

返回说明

当前的SDK版本号,格式为字符串,例:"2.5.0.x";该函数为静态方法,可以任意时候获取版本号。

setScreenShareEncoderConfiguration

设置屏幕共享编码器设置。

- (void)setScreenShareEncoderConfiguration:(AliRtcScreenShareEncoderConfiguration _Nonnull)config;

参数说明

名称

类型

描述

config

AliRtcScreenShareEncoderConfiguration _Nonnull

屏幕共享视频编码参数,如分辨率、帧率、码率、视频方向等 所有设置的参数都有相应的范围限制,如果设置的参数不在有效范围内。

重要

该方法用于设置屏幕流视频编码属性对应的视频参数,如分辨率、帧率、码率、视频方向等 所有设置的参数都有相应的范围限制,如果设置的参数不在有效范围内,SDK会自动调节,该方法在入会前和入会后都可以调用,如果每次入会只需要设置一次屏幕流视频编码属性,建议在入会前调用。

setRemoteAudioVolume

设置远端音频的音量。

- (int)setRemoteAudioVolume:(NSString _Nonnull)uid volume:(NSInteger)volume;

参数说明

名称

类型

描述

uid

NSString _Nonnull

用户ID,从App server分配的唯一标示符。

volume

NSInteger

播放音量,取值范围[0,100] 0:静音;100:原始音量。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要

uid必须在该用户入会后设置,若该用户未入会,设置失败。

subscribeRemoteVideoStream

停止/恢复订阅远端用户的视频流。

- (int)subscribeRemoteVideoStream:(NSString _Nonnull)uid track:(AliRtcVideoTrack)track sub:(BOOL)sub;

参数说明

名称

类型

描述

uid

NSString _Nonnull

用户ID,从App server分配的唯一标示符。

track

AliRtcVideoTrack

视频流类型。

sub

BOOL

是否订阅。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要

如果之前有调用过 subscribeAllRemoteVideoStreams,停止订阅所有远端视频,则此接口调用无效;subscribeAllRemoteVideoStreams是全局控制,SubscribeRemoteVideoStream 是单独控制。

subscribeRemoteDestChannelStream

订阅目标频道,指定用户的流。

- (int)subscribeRemoteDestChannelStream:(NSString _Nonnull)channelId uid:(NSString _Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack audioTrack:(AliRtcAudioTrack)audioTrack sub:(BOOL)sub;

参数说明

名称

类型

描述

channelId

NSString _Nonnull

目标频道。

uid

NSString _Nonnull

用户ID,从App server分配的唯一标示符。

videoTrack

AliRtcVideoTrack

视频流类型。

audioTrack

AliRtcAudioTrack

音频流类型。

sub

BOOL

是否订阅远端频道用户的流。

返回说明

0表示方法调用成功,其他表示方法调用失败。

subscribeRemoteDestChannelAllStream

订阅目标频道,所有用户的流。

- (int)subscribeRemoteDestChannelAllStream:(NSString _Nonnull)channelId track:(AliRtcVideoTrack)track subAudio:(BOOL)subAudio sub:(BOOL)sub;

参数说明

名称

类型

描述

channelId

NSString _Nonnull

目标频道。

track

AliRtcVideoTrack

视频流类型。

subAudio

BOOL

是否订阅音频流。

sub

BOOL

是否订阅远端频道用户的视频流。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setRecordingVolume

设置录音音量。

- (int)resumeAudioAccompany;

参数说明

名称

类型

描述

volume

NSInteger

值域:[0..400] [0..100]是原始音量[100..400]是音量放大。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setPlayoutVolume

设置播放音量。

- (int)getAudioAccompanyDuration;

参数说明

名称

类型

描述

volume

NSInteger

值域:[0..400] 其中 [0..100]是原始音量范围[100..400]是音量放大。

返回说明

0表示方法调用成功,其他表示方法调用失败。

startAudioCaptureTest

通话前,开启音频采集设备检测。

- (int)getAudioAccompanyCurrentPosition;
重要

只能在joinChannel之前调用,joinChannel之后调用会失败。

stopAudioCaptureTest

停止通话前音频采集设备检测。

- (int)setAudioAccompanyPosition:(int)pos;
重要

只能在joinChannel之前调用,之后调用会失败。

getAudioFileInfo

获取音频文件信息。

- (int)getAudioFileInfo:(NSString *_Nonnull)filePath;

参数说明

名称

类型

描述

filePath

NSString *

文件路径。

重要

异步接口,可通过 {@link onAudioFileInfo:errorCode:} 获取音频文件信息。

startAudioAccompanyWithFile

开始伴奏混音。

- (int)startAudioAccompanyWithFile:(NSString *_Nonnull)filePath config:(AliRtcAudioAccompanyConfig *_Nonnull)config;

参数说明

名称

类型

描述

filePath

NSString *

文件路径。

config

AliRtcAudioAccompanyConfig *

伴奏的配置。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要

异步接口,可通过 {@link onAudioAccompanyStateChanged:errorCode:} 监听播放器状态。

stopAudioAccompany

停止伴奏混音。

- (int)stopAudioAccompany;

返回说明

0表示方法调用成功,其他表示方法调用失败。

setAudioAccompanyVolume

设置伴奏音量。

- (int)setAudioAccompanyVolume:(NSInteger)volume;

参数说明

名称

类型

描述

volume

NSInteger

volume 伴奏音量,取值范围[0,100]。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要

同时设置伴奏本地播放音量与伴奏推流音量。

setAudioAccompanyPublishVolume

设置伴奏推流音量。

- (int)setAudioAccompanyPublishVolume:(NSInteger)volume;

参数说明

名称

类型

描述

volume

NSInteger

volume 伴奏音量,取值范围[0,100]。

返回说明

0表示方法调用成功,其他表示方法调用失败。

重要

设置的推流出去的音量。

getAudioAccompanyPublishVolume

获取伴奏推流音量。

- (int)getAudioAccompanyPublishVolume;

返回说明

[0, 100]表示成功,其他表示失败。

setAudioAccompanyPlayoutVolume

设置伴奏本地播放音量。

- (int)setAudioAccompanyPlayoutVolume:(NSInteger)volume;

参数说明

名称

类型

描述

volume

NSInteger

volume 伴奏音量,取值范围[0,100]。

返回说明

0表示方法调用成功,其他表示方法调用失败。

getAudioAccompanyPlayoutVolume

获取伴奏本地播放音量。

- (int)getAudioAccompanyPlayoutVolume;

返回说明

[0, 100]: 成功,其他失败。

pauseAudioAccompany

暂停伴奏混音。

- (int)pauseAudioAccompany;

返回说明

0表示方法调用成功,其他表示方法调用失败。

resumeAudioAccompany

继续伴奏混音。

- (int)resumeAudioAccompany;

返回说明

0表示方法调用成功,其他表示方法调用失败。

getAudioAccompanyDuration

获取伴奏文件时长, 单位为毫秒。

- (int)getAudioAccompanyDuration;

返回说明

>=0获取伴奏文件时长, 单位为毫秒;<0失败。

getAudioAccompanyCurrentPosition

获取伴奏文件播放进度,单位为毫秒。

- (int)getAudioAccompanyCurrentPosition;

返回说明

>=0: 伴奏文件播放进度;<0失败。

setAudioAccompanyPosition

设置伴奏文件的播放位置。

- (int)setAudioAccompanyPosition:(int)pos;

参数说明

名称

类型

描述

pos

int

pos 进度条位置,单位为毫秒。

返回说明

0表示方法调用成功,其他表示方法调用失败。

setEarBackVolume

设置耳返音量。

- (int)setEarBackVolume:(NSInteger)volume;

参数说明

名称

类型

描述

volume

NSInteger

volume 音量大小,范围是:[0 ~ 100],默认值为100。

返回说明

0表示方法调用成功,其他表示方法调用失败。

snapshotVideo

视频截图功能。

- (int)snapshotVideo:(NSString*_Nullable)userId type:(AliRtcVideoTrack)type;

参数说明

名称

类型

描述

userId

NSString *

用户ID,userId 为nil或者为""代表本地用户。

type

AliRtcVideoTrack

视频流类型,只支持 {@link AliRtcVideoTrack::AliRtcVideoTrackCamera} 和 {@link AliRtcVideoTrack::AliRtcVideoTrackScreen}。

返回说明

0表示方法调用成功,其他表示方法调用失败。

sendMediaExtensionMsg

发送SEI信息

- (int)sendMediaExtensionMsg:(NSData *_Nonnull)data repeatCount:(int)repeatCount delay:(int)delay isKeyFrame:(bool)isKeyFrame;

参数说明

名称

类型

描述

data

NSData *

扩展信息内容, 长度限制为最大4K 字节

repeatCount

int

重复次数,代表消息冗余度,用于防止网络丢包导致的消息丢失-1表示无限重发,除非再一次调用sendMediaExtensionMs

delay

int

延迟多少毫秒发送 用来延迟多少毫秒之后再发送SEI,因SEI是附在编码之后的h264/h265流,所以实际的延迟会比设置的延迟略大

isKeyFrame

bool

是否只给关键帧加SEI 设置为true,则只给关键帧加SEI信息

返回说明

0成功,其他失败;

重要

使用媒体扩展信息时需要复用音视频数据通道,因此必须控制自定义消息的发送频率和消息数据长度,使用限制如下:

  1. 每秒最多发送profile设置的fps条消息;

  2. 为了不影响媒体数据的传输质量,自定义消息体长度限制为4K Bytes,可以用来传输少量数据;

  3. sendMediaExtensionMsg函数中repeatCount参数为自定义消息冗余度,若大于1,则会发送多次,防止网络丢包导致的消息丢失,此时房间里的其他人也会收到多次相同的消息,需要去重;

  4. 发送的自定义消息,在旁路直播时,房间里的订阅者也一样会收到,设置为-1为永久发送data数据,除非重新设置sendMediaExtensionMsg;

  5. 目前H5端支持SEI情况如下:

    浏览器:
    Chrome/Edge 86+
    Safari 15.4+ Firefox 117+
    ARTC SDK 版本: 6.12.0+

  6. 同一时刻只有一个 sendMediaExtensionMsg 会被发送,意味着调用sendMediaExtensionMsg会覆盖上一次调用的sendMediaExtensionMsg,如果上次的调用没有发送或者没有发送完成;

sendMediaExtensionMsgEx

发送媒体扩展信息,底层使用SEI实现

- (int)sendMediaExtensionMsgEx:(NSData *_Nonnull)data repeatCount:(int)repeatCount delay:(int)delay isKeyFrame:(bool)isKeyFrame payloadType:(int)payloadType;

参数说明

名称

类型

描述

data

NSData *

扩展信息内容, 长度限制为最大4K 字节

repeatCount

int

重复次数,代表消息冗余度,用于防止网络丢包导致的消息丢失-1表示无限重发,除非再一次调用sendMediaExtensionMs

delay

int

延迟多少毫秒发送 用来延迟多少毫秒之后再发送SEI,因SEI是附在编码之后的h264/h265流,所以实际的延迟会比设置的延迟略大

isKeyFrame

bool

是否只给关键帧加SEI 设置为true,则只给关键帧加SEI信息

payloadType

int

类型,带UUID的请用5,范围是[5,100..254]

返回说明

0成功,其他失败

重要

使用媒体扩展信息时需要复用音视频数据通道,因此必须控制自定义消息的发送频率和消息数据长度,使用限制如下:

  1. 每秒最多发送profile设置的fps条消息;

  2. 为了不影响媒体数据的传输质量,自定义消息体长度限制为4K Bytes,可以用来传输少量数据;

  3. sendMediaExtensionMsg函数中repeatCount参数为自定义消息冗余度,若大于1,则会发送多次,防止网络丢包导致的消息丢失,此时房间里的其他人也会收到多次相同的消息,需要去重;

  4. 发送的自定义消息,在旁路直播时,房间里的订阅者也一样会收到,设置为-1为永久发送data数据,除非重新设置sendMediaExtensionMsg;

  5. 目前H5端支持SEI情况如下:

    浏览器:
    Chrome/Edge 86+
    Safari 15.4+ Firefox 117+
    ARTC SDK 版本: 6.12.0+

  6. 同一时刻只有一个 sendMediaExtensionMsg 会被发送,意味着调用sendMediaExtensionMsg会覆盖上一次调用的sendMediaExtensionMsg,如果上次的调用没有发送或者没有发送完成;

startAudioPlayer

开启音频播放

- (void)startAudioPlayer;

重要

此接口可以控制提前打开音频播放,如果不设置,则SDK会在订阅到音频流后自动打开音频播放;

stopAudioPlayer

停止音频播放

- (void)stopAudioPlayer;
重要

此接口可以控制关闭音频播放;

removeExternalAudioStream

删除外部音频流

- (int)removeExternalAudioStream:(int)streamId;

参数说明

名称

类型

描述

streamId

int

外部音频流Id

返回说明

0成功,其他失败;

getNetworkTime

获取时间轴时间

-(long long)getNetworkTime;

参数说明

名称

类型

描述

返回说明

时间戳

sendDataChannelMessage

发送数据通道消息

-(int) sendDataChannelMessage:(AliRtcDataChannelMsg* _Nonnull)controlMsg;

ARTC SDK提供发送和接收自定义消息的能力,允许在传输音视频数据的同时再发送自定义的实时消息数据,例如在音视频传输的同时传递实时控制指令、状态同步数据或其他业务消息时可调用此接口实现。具体使用方式请参考自定义消息发送和接收

说明
  • 自定义消息通道默认关闭,如果需要使用该功能,请调用接口 setParameter设置("{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}")接口开启自定义消息通道,加入频道前后均可开启。

  • 消息可以是任意数据(例如文字)。

相关回调

  • 当发送方成功开启自定义消息通道后,可以调用本接口发送自定义消息,接收方通过监听 onDataChannelMessage 回调接收自定义的消息。

调用限制

  • 主播角色可以发送和接收消息,观众角色仅支持接收消息。

  • 需要调用setParameter 开启自定义消息通道。

  • 发送数据有限制为:

    • 比特率上限为 30 KB/s。

    • 数据通道每秒最多可发送 60 个数据包,每个数据包最大为 1 KB。

参数说明

名称

类型

描述

controlMsg

AliRtcDataChannelMsg *

伴奏控制消息

返回说明

0成功,其他失败;

setDeviceOrientationMode

设置设备方向

- (int)setDeviceOrientationMode:(AliRtcOrientationMode)mode;

参数说明

名称

类型

描述

mode

AliRtcOrientationMode

设备方向

返回说明

0成功,其他失败;

registerVideoFrameWithObserver

注册视频数据输出对象

- (void)registerVideoFrameWithObserver:(id<AliRtcVideoFrameDelegate> _Nullable)observer;

参数说明

名称

类型

描述

observer

AliRtcVideoFrameDelegate

视频数据输出对象

unregisterVideoSampleWithObserver

取消视频数据输出对象

- (void)unregisterVideoSampleWithObserver:(id<AliRtcVideoFrameDelegate> _Nullable)observer;

参数说明

名称

类型

描述

observer

AliRtcVideoFrameDelegate

视频数据输出对象

callback详情

onConnectionStatusChange

网络连接状态改变的回调。

- (void)onConnectionStatusChange:(AliRtcConnectionStatus)status reason:(AliRtcConnectionStatusChangeReason)reason;

参数说明

名称

类型

描述

status

AliRtcConnectionStatus

当前状态值。

reason

AliRtcConnectionStatusChangeReason

引起状态变化的具体原因。

onLocalDeviceException

本地设备异常回调;客户需要关心此回调。

- (void)onLocalDeviceException:(AliRtcLocalDeviceType)deviceType exceptionType:(AliRtcLocalDeviceExceptionType)exceptionType message:(NSString *_Nullable)msg;

参数说明

名称

类型

描述

deviceType

AliRtcLocalDeviceType

设备类型

exceptionType

AliRtcLocalDeviceExceptionType

设备异常类型

msg

NSString *

异常时携带的信息

onAuthInfoWillExpire

用户鉴权信息即将过期通知,收到后30秒鉴权过期;客户需要关心此回调。

- (void)onAuthInfoWillExpire;

onAuthInfoExpired

用户调用需要鉴权的接口,服务端返回信息过期。

- (void)onAuthInfoExpired;

onJoinChannelResult[1/2]

加入频道结果回调(该回调等同于调用AliRtcEngine接口的block操作,即处理加入频道之后的事件,选择其一即可)。

- (void)onJoinChannelResult:(int)result channel:(NSString *_Nonnull)channel userId:(NSString *_Nonnull)userId elapsed:(int) elapsed;

参数说明

名称

类型

描述

result

int

加入频道结果,成功返回0,失败返回错误码。

channel

NSString *

加入的频道ID。

userId

NSString *

加入的用户ID。

elapsed

int

加入频道耗时。

onJoinChannelResult[2/2]

加入频道结果回调(该回调等同于调用AliRtcEngine接口的block操作,即处理加入频道之后的事件,选择其一即可)。

- (void)onJoinChannelResult:(int)result channel:(NSString *_Nonnull)channel elapsed:(int) elapsed;

参数说明

名称

类型

描述

result

int

加入频道结果,成功返回0,失败返回错误码。

channel

NSString *

加入的频道ID。

elapsed

int

加入频道耗时。

onLeaveChannelResult

离开频道结果回调。调用AliRtcEngine接口后返回,如果调用AliRtcEngine接口后直接调用AliRtcEngine接口,将不会收到此回调。

- (void)onLeaveChannelResult:(int)result stats:(AliRtcStats)stats;

参数说明

名称

类型

描述

result

int

离开频道结果,成功返回0,失败返回错误码。

stats

AliRtcStats

本次频道内会话的数据统计汇总。

onRemoteUserOffLineNotify

远端用户下线时的回调。

- (void)onRemoteUserOffLineNotify:(NSString *_Nonnull)uid offlineReason:(AliRtcUserOfflineReason)reason;

参数说明

名称

类型

描述

uid

NSString *

用户IDApp server分配的唯一标示符。

reason

AliRtcUserOfflineReason

用户离线的原因。

onRemoteUserOnLineNotify

远端用户上线时的回调。

- (void)onRemoteUserOnLineNotify:(NSString *_Nonnull)uid elapsed:(int)elapsed;

参数说明

名称

类型

描述

uid

NSString *

用户IDApp server分配的唯一标示符。

elapsed

int

用户加入频道时的耗时。

onRemoteTrackAvailableNotify

远端用户的流发生变化时回调。

- (void)onRemoteTrackAvailableNotify:(NSString *_Nonnull)uid audioTrack:(AliRtcAudioTrack)audioTrack videoTrack:(AliRtcVideoTrack)videoTrack;

参数说明

名称

类型

描述

uid

NSString *

用户IDApp server分配的唯一标示符。

audioTrack

AliRtcAudioTrack

远端用户发生变化后的音频流。

videoTrack

AliRtcVideoTrack

远端用户发生变化后的视频流。

onBye

被服务器踢出或者频道关闭时回调。

- (void)onBye:(int)code;

参数说明

名称

类型

描述

code

int

消息类型。取值:
1:被服务器踢出。
2:频道关闭。
3:同一个用户ID在其他端登录,被服务器踢出。

onAudioPublishStateChanged

音频推流变更回调。

- (void)onAudioPublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;

参数说明

名称

类型

描述

oldState

AliRtcPublishState

之前的推流状态。

newState

AliRtcPublishState

当前的推流状态。

elapseSinceLastState

NSInteger

状态变更时间间隔,单位:毫秒。

channel

NSString *

当前频道ID。

onAudioSubscribeStateChanged

音频订阅情况变更回调。

- (void)onAudioSubscribeStateChanged:(NSString *_Nonnull)uid oldState:(AliRtcSubscribeState)oldState newState:(AliRtcSubscribeState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;

参数说明

名称

类型

描述

uid

NSString *

订阅情况变更的用户ID。

oldState

AliRtcSubscribeState

之前的订阅状态。

newState

AliRtcSubscribeState

当前的订阅状态。

elapseSinceLastState

NSInteger

状态变更时间间隔,单位:毫秒。

channel

NSString *

当前频道ID。

onUserAudioMuted

用户muteAudio通知。

- (void)onUserAudioMuted:(NSString *_Nonnull)uid audioMuted:(BOOL)isMute;

参数说明

名称

类型

描述

uid

NSString *

执行muteAudio的用户ID。

isMute

BOOL

YES表示静音,NO表示未静音。

onUserAudioInterruptedBegin

用户audio被中断通知(一般用户打电话等音频被抢占场景)。

- (void)onUserAudioInterruptedBegin:(NSString *_Nonnull)uid;

参数说明

名称

类型

描述

uid

NSString *

audio被中断的用户ID。

onUserAudioInterruptedEnded

用户audio中断结束通知(对应回调及监听)。

- (void)onUserAudioInterruptedEnded:(NSString *_Nonnull)uid;

参数说明

名称

类型

描述

uid

NSString *

audio中断结束的用户ID。

onVideoPublishStateChanged

视频推流变更回调。

- (void)onVideoPublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;

参数说明

名称

类型

描述

oldState

AliRtcPublishState

之前的推流状态。

newState

AliRtcPublishState

当前的推流状态。

elapseSinceLastState

NSInteger

状态变更时间间隔,单位:毫秒。

channel

NSString *

当前频道ID。

onVideoSubscribeStateChanged

相机流订阅情况变更回调。

- (void)onVideoSubscribeStateChanged:(NSString *_Nonnull)uid oldState:(AliRtcSubscribeState)oldState newState:(AliRtcSubscribeState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;

参数说明

名称

类型

描述

uid

NSString *

订阅情况变更的用户ID。

oldState

AliRtcSubscribeState

之前的订阅状态。

newState

AliRtcSubscribeState

当前的订阅状态。

elapseSinceLastState

NSInteger

状态变更时间间隔,单位:毫秒。

channel

NSString *

当前频道ID。

onUserVideoMuted

用户muteVideo通知。

- (void)onUserVideoMuted:(NSString *_Nonnull)uid videoMuted:(BOOL)isMute;

参数说明

名称

类型

描述

uid

NSString *

执行muteVideo的用户ID。

isMute

BOOL

YES表示推流黑帧,NO表示正常推流。

onUserVideoEnabled

禁用或重新启用本地视频采集的通知。

- (void)onUserVideoEnabled:(NSString *_Nullable)uid videoEnabled:(BOOL)isEnable;

参数说明

名称

类型

描述

uid

NSString *

执行EnableLocalVideo的用户ID。

isMute

BOOL

YES表示打开相机流采集,NO表示关闭相机流采集。

onUserWillResignActive

远端用户应用退到后台的回调。

- (void)onUserWillResignActive:(NSString *_Nonnull)uid;

参数说明

名称

类型

描述

uid

NSString *

应用退到后台的用户ID。

onUserWillBecomeActive

远端用户应用返回前台的回调。

- (void)onUserWillBecomeActive:(NSString *_Nonnull)uid;

参数说明

名称

类型

描述

uid

NSString *

应用返回前台的用户ID。

onRtcStats

实时数据回调(2s触发一次)。

- (void)onRtcStats:(AliRtcStats)stats;

参数说明

名称

类型

描述

stats

AliRtcStats

数据回调。

onAudioEffectFinished

本地音效播放结束回调。

- (void)onAudioEffectFinished:(int)soundId;

参数说明

名称

类型

描述

soundId

int

播放完成的音效的ID。

onAudioVolumeCallback

订阅的音频音量、语音状态和UID的回调。

- (void)onAudioVolumeCallback:(NSArray <AliRtcUserVolumeInfo *> *_Nullable)array totalVolume:(int)totalVolume;

参数说明

名称

类型

描述

array

NSArray <AliRtcUserVolumeInfo *> *

表示回调用户音量信息数组,包含用户UID、语音状态以及音量,UID0表示本地说话人。

totalVolume

int

混音后的总音量,范围[0,255]。在本地用户的回调中,totalVolume为本地用户混音后的音量;在远端用户的回调中,totalVolume为所有说话者混音后的总音量。

onActiveSpeaker

当前正在说话的人的回调。

- (void)onActiveSpeaker:(NSString *_Nonnull)uid;

参数说明

名称

类型

描述

uid

NSString *

当前正在说话的人的ID。

onPublishLiveStreamStateChanged

旁路推流状态改变回调。

- (void)onPublishLiveStreamStateChanged:(NSString *_Nonnull)streamURL state:(AliRtcLiveTranscodingState)state errCode:(AliRtcTrascodingLiveStreamErrorCode)errCode;

参数说明

名称

类型

描述

streamURL

NSString *

流地址。

state

AliRtcLiveTranscodingState

状态。

errCode

AliRtcTrascodingLiveStreamErrorCode

错误码。

onPublishTaskStateChanged

旁路任务状态改变回调。

- (void)onPublishTaskStateChanged:(NSString *_Nonnull)streamURL state:(AliRtcTrascodingLiveTaskStatus)state;

参数说明

名称

类型

描述

streamURL

NSString *

流地址。

state

AliRtcTrascodingLiveTaskStatus

状态。

onNetworkQualityChanged

网络质量变化回调。

- (void)onNetworkQualityChanged:(NSString *_Nonnull)uid upNetworkQuality:(AliRtcNetworkQuality)upQuality downNetworkQuality:(AliRtcNetworkQuality)downQuality;

参数说明

名称

类型

描述

uid

NSString *

用户ID,为空时表示本地用户上下行网络状态

upQuality

AliRtcNetworkQuality

上行网络状态

downQuality

AliRtcNetworkQuality

下行网络状态

onLastmileDetectResultWithQuality

网络质量探测回调。

- (void)onLastmileDetectResultWithQuality:(AliRtcNetworkQuality)networkQuality;

参数说明

名称

类型

描述

networkQuality

AliRtcNetworkQuality

网络质量

onLastmileDetectResultWithBandWidth

网络质量探测结果的回调。

- (void)onLastmileDetectResultWithBandWidth:(int)code result:(AliRtcNetworkQualityProbeResult* _Nonnull)result;

参数说明

名称

类型

描述

code

int

探测结果,0 成功,-1失败,网络状况较差

result

AliRtcNetworkQualityProbeResult *

网络质量

onAudioPublishStateChanged

音频推流变更回调。

- (void)onAudioPublishStateChanged:(AliRtcAudioTrack)track oldState:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;

参数说明

名称

类型

描述

track

AliRtcAudioTrack

track 变化的track

oldState

AliRtcPublishState

之前的推流状态

newState

AliRtcPublishState

新的推流状态

elapseSinceLastState

NSInteger

状态变更时间间隔(毫秒)

channel

NSString *

当前的频道ID

onScreenSharePublishStateChanged

屏幕分享推流变更回调。

- (void)onScreenSharePublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;

参数说明

名称

类型

描述

oldState

AliRtcPublishState

之前的推流状态

newState

AliRtcPublishState

新的推流状态

elapseSinceLastState

NSInteger

状态变更时间间隔(毫秒)

channel

NSString *

当前的频道ID

onAudioSubscribeStateChanged

音频流订阅情况变更回调。

- (void)onAudioSubscribeStateChanged:(NSString *_Nonnull)uid track:(AliRtcAudioTrack)track oldState:(AliRtcSubscribeState)oldState newState:(AliRtcSubscribeState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;

参数说明

名称

类型

描述

uid

NSString *

用户ID

track

AliRtcAudioTrack

track 变化的track

oldState

AliRtcSubscribeState

老的拉流状态

newState

AliRtcSubscribeState

新的拉流状态

elapseSinceLastState

NSInteger

状态变更时间间隔(毫秒)

channel

NSString *

当前的频道ID

onScreenShareSubscribeStateChanged

屏幕分享流订阅情况变更回调。

- (void)onScreenShareSubscribeStateChanged:(NSString *_Nonnull)uid oldState:(AliRtcSubscribeState)oldState newState:(AliRtcSubscribeState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;

参数说明

名称

类型

描述

uid

NSString *

用户ID

oldState

AliRtcSubscribeState

老的拉流状态

newState

AliRtcSubscribeState

新的拉流状态

elapseSinceLastState

NSInteger

状态变更时间间隔(毫秒)

channel

NSString *

当前的频道ID

onUpdateRoleNotifyWithOldRole

当用户角色发生变化时通知。

- (void)onUpdateRoleNotifyWithOldRole:(AliRtcClientRole)oldRole newRole:(AliRtcClientRole)newRole;

参数说明

名称

类型

描述

oldRole

AliRtcClientRole

变化前角色类型

newRole

AliRtcClientRole

变化后角色类型

onOccurError

如果engine出现error,通过这个回调通知app。

- (void)onOccurError:(int)error message:(NSString *_Nonnull)message;

参数说明

名称

类型

描述

error

int

Error类型,参考 {@link AliRtcErrorCode}

message

NSString *

错误描述

onFirstAudioPacketSentWithTimecost

音频首包发送回调。

- (void)onFirstAudioPacketSentWithTimecost:(AliRtcAudioTrack)track timeCost:(int)timeCost;

参数说明

名称

类型

描述

track

AliRtcAudioTrack

那条track

timeCost

int

发送耗时

onFirstVideoFrameReceivedWithUid

视频首帧接收回调。

- (void)onFirstVideoFrameReceivedWithUid:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack timeCost:(int)timeCost;

参数说明

名称

类型

描述

uid

NSString *

用户ID

videoTrack

AliRtcVideoTrack

视频流标签

timeCost

int

耗时(毫秒)

onFirstVideoPacketSentWithVideoTrack

视频首包发送回调。

- (void)onFirstVideoPacketSentWithVideoTrack:(AliRtcVideoTrack)videoTrack timeCost:(int)timeCost;

参数说明

名称

类型

描述

videoTrack

AliRtcVideoTrack

视频流标签

timeCost

int

耗时(毫秒)

onFirstAudioPacketReceivedWithUid

音频首包接收回调。

- (void)onFirstAudioPacketReceivedWithUid:(NSString *_Nonnull)uid track:(AliRtcAudioTrack)track timeCost:(int)timeCost;

参数说明

名称

类型

描述

uid

NSString *

用户ID

track

AliRtcAudioTrack

音频流标签

timeCost

int

耗时(毫秒)

onFirstRemoteAudioDecodedWithUid

已解码远端音频首帧回调。

- (void)onFirstRemoteAudioDecodedWithUid:(NSString *_Nonnull)uid track:(AliRtcAudioTrack)track elapsed:(int)elapsed;

参数说明

名称

类型

描述

uid

NSString *

用户ID

track

AliRtcAudioTrack

音频流标签

elapsed

int

耗时(毫秒)

onFirstRemoteVideoFrameDrawn

远端用户的第一帧视频帧显示时触发这个消息。

- (void)onFirstRemoteVideoFrameDrawn:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack width:(int)width height:(int)height elapsed:(int)elapsed;

参数说明

名称

类型

描述

uid

NSString *

用户ID

videoTrack

AliRtcVideoTrack

视频流标签

width

int

宽度

height

int

高度

elapsed

int

本地用户加入频道直至该回调触发的延迟总耗时(毫秒)

onFirstLocalVideoFrameDrawn

预览开始显示第一帧视频帧时触发这个消息。

- (void)onFirstLocalVideoFrameDrawn:(int)width height:(int)height elapsed:(int)elapsed;

参数说明

名称

类型

描述

width

int

本地预览视频宽度

height

int

本地预览视频高度

elapsed

int

从本地用户加入频道直至该回调触发的延迟总耗时(毫秒)


onTestAudioVolumeCallback

通话前音频采集检测的音量回调。

- (void)onTestAudioVolumeCallback:(int)volume;

参数说明

名称

类型

描述

volume

int

音量[0..100]

onAudioAccompanyStateChanged

本地伴奏播放状态回调。

- (void)onAudioAccompanyStateChanged:(AliRtcAudioAccompanyStateCode)playState errorCode:(AliRtcAudioAccompanyErrorCode)errorCode;

参数说明

名称

类型

描述

playState

AliRtcAudioAccompanyStateCode

伴奏状态

errorCode

AliRtcAudioAccompanyErrorCode

错误代码

onRemoteAudioAccompanyStarted

远端用户伴奏播放开始回调。

- (void)onRemoteAudioAccompanyStarted:(NSString *_Nonnull)uid;

参数说明

名称

类型

描述

uid

NSString *

用户ID

onRemoteAudioAccompanyFinished

远端用户伴奏播放结束回调。

- (void)onRemoteAudioAccompanyFinished:(NSString *_Nonnull)uid;

参数说明

名称

类型

描述

uid

NSString *

用户ID

onVideoResolutionChanged

视频分辨率变更。

- (void)onVideoResolutionChanged:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack width:(int)width height:(int)height;

参数说明

名称

类型

描述

uid

NSString *

用户ID

videoTrack

AliRtcVideoTrack

视频track

width

int

宽度

height

int

高度

onRtcLocalVideoStats

本地视频统计信息(2s触发一次)。

- (void)onRtcLocalVideoStats:(AliRtcLocalVideoStats *_Nonnull)localVideoStats;

参数说明

名称

类型

描述

localVideoStats

AliRtcLocalVideoStats *

本地视频统计信息

onRtcRemoteVideoStats

远端视频统计信息(2s触发一次)。

- (void)onRtcRemoteVideoStats:(AliRtcRemoteVideoStats *_Nonnull)remoteVideoStats;

参数说明

名称

类型

描述

remoteVideoStats

AliRtcRemoteVideoStats *

远端视频统计信息

onRtcLocalAudioStats

本地音频统计信息(2s触发一次)。

- (void)onRtcLocalAudioStats:(AliRtcLocalAudioStats *_Nonnull)localAudioStats;

参数说明

名称

类型

描述

localAudioStats

AliRtcLocalAudioStats *

本地音频统计信息

onRtcRemoteAudioStats

远端音频统计信息(2s触发一次)。

- (void)onRtcRemoteAudioStats:(AliRtcRemoteAudioStats *_Nonnull)remoteAudioStats;

参数说明

名称

类型

描述

remoteAudioStats

AliRtcRemoteAudioStats *

远端音频统计信息

onMediaExtensionMsgReceived

收到媒体扩展信息回调。

- (void)onMediaExtensionMsgReceived:(NSString *_Nonnull)uid payloadType:(int)payloadType message:(NSData *_Nonnull)data;

参数说明

名称

类型

描述

uid

NSString *

用户ID

payloadType

int

载荷类型

message

NSData *

媒体扩展信息

onSnapshotComplete

截图回调。

- (void)onSnapshotComplete:(NSString*_Nullable)uid videoTrack:(AliRtcVideoTrack)videoTrack image:(UIImage* _Nullable)image success:(BOOL)success;

参数说明

名称

类型

描述

image

UIImage *

图片类型

success

BOOL

是否成功

onLocalAudioStateChanged

本地音频采集设备状态回调。

- (void)onLocalAudioStateChanged:(AliRtcLocalAudioStateType)state message:(NSString *_Nullable)msg;

参数说明

名称

类型

描述

state

AliRtcLocalAudioStateType

设备状态,AliRtcLocalAudioStateType类型

msg

NSString *

设备状态变化的描述信息

重要

startAudioCapture 和 stopAudioCapture的结果回调。

onLocalVideoStateChanged

本地视频采集设备状态回调。

- (void)onLocalVideoStateChanged:(AliRtcLocalVideoStateType)state message:(NSString *_Nullable)msg;

参数说明

名称

类型

描述

state

AliRtcLocalVideoStateType

设备状态,AliRtcLocalVideoStateType类型

msg

NSString *

设备状态变化的描述信息

onRemoteUserSubscribedDataChannel

可以开始发送data channel消息回调。

- (void)onRemoteUserSubscribedDataChannel:(NSString *_Nonnull)uid;

参数说明

名称

类型

描述

uid

NSString *

用户ID

onDataChannelMessage

数据通道消息回调。

- (void)onDataChannelMessage:(NSString *_Nonnull)uid controlMsg:(AliRtcDataChannelMsg*_Nonnull)controlMsg;

参数说明

名称

类型

描述

uid

NSString *

用户ID。

controlMsg

AliRtcDataChannelMsg

数据通道消息。

AliRtcVideoFrameDelegate

onCaptureVideoSample

采集视频裸数据回调。

- (BOOL)onCaptureVideoSample:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;

参数说明

名称

类型

描述

videoSource

AliRtcVideoSource

视频流类型

videoSample

AliRtcVideoDataSample *

视频裸数据

返回值

YES: 需要写回SDK(只对I420CVPixelBuffer(ios/mac)有效)
NO: 不需要写回SDK

onPreEncodeVideoSample

订阅的本地编码前视频数据回调。

- (BOOL)onPreEncodeVideoSample:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;

参数说明

名称

类型

描述

videoSource

AliRtcVideoSource

视频流类型

videoSample

AliRtcVideoDataSample *

视频裸数据

返回值

YES: 需要写回SDK(只对I420CVPixelBuffer(ios/mac)有效)
NO: 不需要写回SDK

onRemoteVideoSample

订阅的远端视频数据回调。

- (BOOL)onRemoteVideoSample:(NSString *_Nonnull)uid videoSource:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;

参数说明

名称

类型

描述

uid

NSString *

用户ID

videoSource

AliRtcVideoSource

视频流类型

videoSample

AliRtcVideoDataSample *

视频裸数据

返回值

YES: 需要写回SDK(只对I420CVPixelBuffer(ios/mac)有效)
NO: 不需要写回SDK

onGetVideoFormatPreference

视频数据输出格式。

- (AliRtcVideoFormat)onGetVideoFormatPreference;

返回值

期望视频输出格式

重要

应用可返回期望输出的视频数据格式,默认返回 AliRtcYUV420

onGetVideoObservedFramePosition

视频数据输出位置。

- (NSInteger)onGetVideoObservedFramePosition;

返回值

期望视频输出,参考 {@link AliRtcVideoObserPosition}

AliRtcAudioFrameDelegate

onCapturedAudioFrame

采集裸数据回调。

- (BOOL)onCapturedAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;

参数说明

名称

类型

描述

frame

AliRtcAudioFrame *

视频帧。

返回值

true: success。

重要
  1. 请不要在此回调函数中做任何耗时操作,否则可能导致声音异常;

  2. 该接口支持设置采样率、声道数;

  3. 该接口支持读写模式;

onProcessCapturedAudioFrame

采集3A后数据回调。

- (BOOL)onProcessCapturedAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;

参数说明

名称

类型

描述

frame

AliRtcAudioFrame *

视频帧

返回值

true: success

重要
  1. 请不要在此回调函数中做任何耗时操作,否则可能导致声音异常;

  2. 该接口支持设置采样率、声道数;

  3. 该接口支持读写模式;

onPublishAudioFrame

推流数据回调。

- (BOOL)onPublishAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;

参数说明

名称

类型

描述

frame

AliRtcAudioFrame *

视频帧

返回值

true: success

重要
  1. 请不要在此回调函数中做任何耗时操作,否则可能导致声音异常;

  2. 该接口支持设置采样率、声道数;

  3. 该接口支持读写模式;

onPlaybackAudioFrame

播放数据回调。

- (BOOL)onPlaybackAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;

参数说明

名称

类型

描述

frame

AliRtcAudioFrame *

视频帧

返回值

true: success

重要
  1. 请不要在此回调函数中做任何耗时操作,否则可能导致声音异常;

  2. 该接口支持设置采样率、声道数;

  3. 该接口支持读写模式;

onMixedAllAudioFrame

推流数据和播放数据混音后回调。

- (BOOL)onMixedAllAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;

参数说明

名称

类型

描述

frame

AliRtcAudioFrame *

视频帧

返回值

true: success

重要

目前暂不支持。

  1. 请不要在此回调函数中做任何耗时操作,否则可能导致声音异常;

  2. 该接口支持设置采样率、声道数;

  3. 该接口支持读写模式;

onRemoteUserAudioFrame

远端拉流数据回调。

- (BOOL)onRemoteUserAudioFrame:(NSString *_Nullable)uid frame:(AliRtcAudioFrame* _Nonnull)frame;

参数说明

名称

类型

描述

frame

AliRtcAudioFrame *

视频帧

返回值

true: success

重要
  1. 请不要在此回调函数中做任何耗时操作,否则可能导致声音异常;

  2. 该接口支持设置采样率、声道数;

  3. 该接口支持读写模式;

AliRtcEngineDestroyDelegate

onDestroyCompletion

释放引擎的回调,该回调执行后才是引擎释放完成。。

- (void)onDestroyCompletion;
重要

等待onDestroyCompletion回调之后才能执行其他方法,为避免主线程阻塞;

onTextureUpdate

OpenGL纹理更新回调。

- (int)onTextureUpdate:(int)textureId width:(int)width height:(int)height videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;

参数说明

名称

类型

描述

textureId

int

OpenGL上下文

width

int

视频宽度

height

int

视频高度

videoSample

AliRtcVideoDataSample *

视频帧数据

返回值

返回新的textureid或者老的textureid,如果返回<0的值则视为未更新textureId;

重要

该回调会在每一帧视频数据上传到OpenGL纹理之后触发,当外部注册了OpenGL纹理数据观测器,在该回调中可以对纹理进行处理,并返回处理后的纹理ID。
注意该回调返回值必须为有效的纹理ID,如果不做任何处理必须返回参数textureId。

onTextureDestory

OpenGL上下文销毁回调。

- (void)onTextureDestory;
重要

该回调是在SDK内部OpenGL上下文销毁的时候触发。