本章节为您介绍了iOS SDK和Mac SDK的AliRtcEngine接口详情。

目录

基础接口

API 描述 以上版本支持
setH5CompatibleMode 设置H5兼容模式 1.1
getH5CompatibleMode 检查当前是否兼容H5 1.1
sharedInstance 创建AliRtcEngine实例(同一时间只会存在一个实例) 1.1
destroy 销毁SDK 1.1

频道相关接口

API 描述 以上版本支持
setAutoPublish 设置是否自动发布,是否自动订阅 1.1
joinChannel 加入频道 1.1
leaveChannel 离开频道 1.1
isInCall 检查当前是否在频道中 1.1
setChannelProfile 设置频道模式 1.15

发布相关接口

API 描述 以上版本支持
isAutoPublish 查询当前是否为自动发布模式 1.1
configLocalCameraPublish 设置是否允许发布相机流 1.1
isLocalCameraPublishEnabled 查询当前是否允许发布相机流 1.1
configLocalScreenPublish 设置是否允许发布屏幕流(仅Mac) 1.1
isLocalScreenPublishEnabled 查询当前是否允许发布屏幕流(仅Mac) 1.1
configLocalAudioPublish 设置是否允许发布音频流 1.1
isLocalAudioPublishEnabled 查询当前是否允许发布音频流 1.1
configLocalSimulcast 是否允许发布次要视频流 1.1
isLocalSimulcastEnabled 查询当前是否允许发布次要视频流 1.1
publish 手动发布视频和音频流 1.1

订阅相关接口

API 描述 以上版本支持
isAutoSubscribe 查询当前是否为自动订阅模式 1.1
configRemoteCameraTrack 设置是否订阅远端相机流 1.1
configRemoteScreenTrack 设置是否订阅远端屏幕流 1.1
configRemoteAudio 设置是否订阅远端音频流 1.1
subscribe 手动订阅视频和音频流 1.1

视频相关接口

API 描述 以上版本支持
setVideoProfile 设置视频流的参数 1.1
setLocalViewConfig 为本地预览设置渲染窗口以及绘制参数 1.1
muteLocalCamera 设置是否停止发布本地视频流 1.1
setRemoteViewConfig 为远端的视频设置渲染窗口以及绘制参数 1.1
getCameraList 获取摄像头列表(仅Mac) 1.1
getCurrentCamera 获取当前使用的摄像头名称(仅Mac) 1.1
setCurrentCamera 选择摄像头(仅Mac) 1.1
switchCamera 切换前后摄像头(仅iOS) 1.1
setCameraZoom 设置摄像头参数(仅iOS) 1.1
isCameraOn 检查摄像头是否打开(仅iOS) 1.1
isCameraFocusPointSupported 摄像头是否支持手动聚焦(仅iOS) 1.14
isCameraExposurePointSupported 摄像头是否支持设置曝光区域(仅iOS) 1.14
setCameraFocusPoint 设置摄像头手动聚焦(仅iOS) 1.14
setCameraExposurePoint 设置摄像头曝光点(仅iOS) 1.14
subscribeVideoPreprocessData 订阅采集视频前处理裸数据(仅iOS) 1.14
unSubscribeVideoPreprocessData 取消采集订阅前处理裸数据(仅iOS) 1.14
enableHighDefinitionPreview 是否允许高清预览,默认打开(仅iOS) 1.14
registerVideoSampleObserver 订阅视频数据 1.16.2
unregisterVideoSampleObserver 取消订阅视频数据 1.16.2
setVideoSwapWidthAndHeight 设置视频track是否需要交换宽高 1.16.2
muteAllRemoteVideoRendering mute/unmute远端的所有视频track的渲染 1.16.2
getCurrentCameraID 获取当前使用的摄像头ID(仅Mac) 1.16.2
setCurrentCameraWithID 选择摄像头(仅Mac) 1.16.2
setExternalVideoSource 启用外部视频输入源(仅Mac) 1.16.2
pushExternalVideoFrame 输入视频数据(仅Mac) 1.16.2

音频相关接口

API 描述 以上版本支持
setAudioOnlyMode 设置是否为纯音频模式还是音视频模式 1.1
isAudioOnly 查询当前是否为纯音频模式 1.1
muteLocalMic 设置是否停止发布本地音频 1.1
muteRemoteAudioPlaying 设置是否停止播放远端音频流 1.1
enableSpeakerphone 切换听筒、扬声器输出(仅iOS) 1.1
getAudioCaptures 获取系统中的录音设备列表(仅Mac) 1.1
getCurrentAudioCapture 获取当前使用的音频采集设备名称(仅Mac) 1.1
setCurrentAudioCapture 选择音频采集设备(仅Mac) 1.1
getAudioRenderers 获取系统中的扬声器列表(仅Mac) 1.1
getCurrentAudioRenderer 获取当前使用的音频播放设备(仅Mac) 1.1
setCurrentAudioRenderer 选择音频播放设备(仅Mac) 1.1
startAudioCapture 开启音频采集 1.11
stopAudioCapture 关闭音频采集 1.11
startAudioPlayer 开启音频播放 1.11
stopAudioPlayer 关闭音频播放 1.11
startAudioAccompanyWithFile 开始伴奏(仅iOS) 1.15
stopAudioAccompany 停止伴奏(仅iOS) 1.15
setAudioAccompanyVolume 设置伴奏音量(仅iOS) 1.15
setAudioAccompanyPublishVolume 设置伴奏之后推流出去的音量(仅iOS) 1.15
getAudioAccompanyPublishVolume 获取推流出去的伴奏音量(仅iOS) 1.15
setAudioAccompanyPlayoutVolume 设置伴奏之后本地播放的音量(仅iOS) 1.15
getAudioAccompanyPlayoutVolume 获取伴奏本地播放的音量(仅iOS) 1.15
pauseAudioAccompany 暂停伴奏(仅iOS) 1.15
resumeAudioAccompany 重新开始伴奏(仅iOS) 1.15
preloadAudioEffectWithSoundId 预加载音效文件(仅iOS) 1.15
unloadAudioEffectWithSoundId 删除预加载的音效文件(仅iOS) 1.15
playAudioEffectWithSoundId 开始播放音效(仅iOS) 1.15
stopAudioEffectWithSoundId 停止播放音效(仅iOS) 1.15
setAudioEffectPublishVolumeWithSoundId 设置音效推流音量(仅iOS) 1.15
getAudioEffectPublishVolumeWithSoundId 获取推流音效音量(仅iOS) 1.15
setAudioEffectPlayoutVolumeWithSoundId 设置音效本地播放音量(仅iOS) 1.15
getAudioEffectPlayoutVolumeWithSoundId 获取音效本地播放音量(仅iOS) 1.15
pauseAudioEffectWithSoundId 暂停音效(仅iOS) 1.15
resumeAudioEffectWithSoundId 重新开始播放音效(仅iOS) 1.15
enableEarBack 启用耳返(仅iOS) 1.15
setEarBackVolume 设置耳返音量(仅iOS) 1.15
setSubscribeAudioNumChannel 设置回调音频声道数 1.15
setSubscribeAudioSampleRate 设置回调音频采样率 1.15
setAudioSessionOperationRestriction 设置SDK对AVAudioSession的控制权限(仅iOS) 1.15
setRecordingVolume 设置录音音量(仅iOS) 1.16
setPlayoutVolume 设置播放音量(仅iOS) 1.16
subscribeAudioData 订阅音频数据 1.16
unSubscribeAudioData 取消订阅音频数据 1.16
muteAllRemoteAudioPlaying mute/unmute远端的所有音频track的播放 1.16.2
setExteranlAudioRender 设置是否启用外部输入音频播放 1.16.2
pushExternalAudioRenderRawData 输入音频播放数据 1.16.2
isEnableSpeakerphone 获取当前音频输出为听筒还是扬声器(仅iOS) 1.16.2
getCurrentAudioCaptureID 获取使用的录音设备ID(仅Mac) 1.16.2
setCurrentAudioCaptureWithID 选择录音设备(仅Mac) 1.16.2
getCurrentAudioRendererID 获取当前使用的扬声器ID(仅Mac) 1.16.2
setCurrentAudioRendererWithID 选择扬声器(仅Mac) 1.16.2
startTestAudioRecordWithName 开始测试音频采集设备(仅Mac) 1.16.2
stopTestAudioRecord 停止测试音频采集设备(仅Mac) 1.16.2
startTestAudioPlayoutWithName 开始测试音频播放设备(仅Mac) 1.16.2
stopTestAudioPlayout 停止测试音频播放设备(仅Mac) 1.16.2
setExternalAudioSource 设置是否启用外部音频输入源(仅Mac) 1.16.2
pushExternalAudioFrameRawData 输入音频数据(仅Mac) 1.16.2
setExternalAudioVolume 设置混音音量(仅Mac) 1.16.2
getExternalAudioVolume 获取混音音量(仅Mac) 1.16.2
setMixedWithMic 设置是否与麦克风采集音频混合(仅Mac) 1.16.2
setExternalAudioRenderVolume 设置音频播放音量(仅Mac) 1.16.2
getExternalAudioRenderVolume 获取音频播放音量(仅Mac) 1.16.2
setVolumeCallbackIntervalMs 设置音量回调频率和平滑系数 1.17
setAudioEffectReverbMode 设置混响音效模式 1.17
setAudioEffectReverbParamType 设置混响音效类型 1.17

预览接口

API 描述 以上版本支持
startPreview 开始本地预览 1.1
stopPreview 停止本地预览 1.1

远端用户查询接口

API 描述 以上版本支持
getOnlineRemoteUsers 获取远端在线用户列表 1.1
getUserInfo 查询远端用户信息 1.1
isUserOnline 查询用户是否在线 1.1

其他接口

API 描述 以上版本支持
setLogLevel 设置日志级别 1.1
getSdkVersion 获取SDK版本号 1.1
uploadLog 上传日志 1.15
startIntelligentDenoise 开启智能降噪(仅Mac) 1.15
stopIntelligentDenoise 关闭智能降噪(仅Mac) 1.15
setClientRole 设置用户角色 1.16
setLogDirPath 设置SDK日志文件保存路径 1.16.2
setDeviceOrientationMode 设置设备横竖屏方向 1.16.2
startLastmileDetect 开始网络质量探测 1.16.2
stopLastmileDetect 停止网络质量探测 1.16.2
startRecord 开始录制 1.17
stopRecord 停止录制 1.17

接口详情

  • setH5CompatibleMode:设置H5兼容模式,默认不兼容H5。

    说明 该接口仅支持在创建AliRtcEngine实例前调用。
    + (void)setH5CompatibleMode:(BOOL)comp;
    参数 类型 描述
    comp BOOL YES为兼容H5模式,NO为不兼容H5
  • getH5CompatibleMode:检查当前是否兼容H5,返回YES标识兼容H5,NO表示不兼容H5。

    说明 该接口仅支持在创建AliRtcEngine实例前调用。
    + (BOOL)getH5CompatibleMode;
  • sharedInstance::创建AliRtcEngine实例(同一时间只会存在一个实例)。

    + (instancetype)sharedInstance:(id<AliRtcEngineDelegate>)delegate extras:(NSString *)extras;
    参数 类型 描述
    delegate AliRtcEngineDelegate类型的代理 监听回调的代理
    extras NSString * SDK初始化配置,目前请使用@””
  • destroy:销毁SDK,在所有操作结束之后调用。

    + (void)destroy;
  • setAutoPublish:设置是否自动发布,是否自动订阅。默认是自动发布和订阅,必须在加入频道之前设置。

    - (int)setAutoPublish:(BOOL)autoPub withAutoSubscribe:(BOOL)autoSub;
    参数 类型 描述
    autoPub BOOL YES表示自动发布,NO表示手动发布
    autoSub BOOL YES表示自动订阅,NO表示手动订阅
  • joinChannel:加入频道。加入频道成功后,如果中途需要加入其他频道,必须先调用leaveChannel离开当前频道;如果加入频道失败,需要重试时,无需先调用leaveChannel。

    - (void)joinChannel:(AliRtcAuthInfo *)authInfo name:(NSString *)userName onResult:(void(^)(NSInteger errCode))onResult;
    参数 类型 描述
    authInfo AliRtcAuthInfo * 鉴权信息(从AppServer下发,AppServer通过API获取)
    userName NSString * 用户的显示名称,不是用户ID
    onResult void(^)(NSInteger errCode) 当joinChannel执行结束后回调
  • leaveChannel:离开频道。

    1.15及以上版本:销毁引擎只能通过destroy方法。

    1.15以下版本:离开频道时,AliRtcEngine实例会被销毁,如需继续加入频道等操作,需要先重新调用getInstance初始化AliRtcEngine实例。

    - (void)leaveChannel;
  • isInCall:检查当前是否在频道中,返回YES表示在频道中,NO表示不在频道中。

    - (BOOL)isInCall;
  • setChannelProfile:设置频道模式,返回0为成功,非0表示失败。

    说明 只可以在加入频道之前调用,会议中不可以重新设置,离开频道后可以重新设置。
    - (int)setChannelProfile:(AliRtcChannelProfile)profile;
    参数 类型 描述
    profile AliRtcChannelProfile 频道模式类型
  • isAutoPublish:查询当前是否为自动发布模式,返回YES为自动发布,NO为手动发布。

    - (BOOL)isAutoPublish;
  • configLocalCameraPublish:设置是否允许发布相机流。默认为允许发布相机流,手动发布时,需要调用publish才能生效。

    - (void)configLocalCameraPublish:(BOOL)enable;
    参数 类型 描述
    enable BOOL YES为允许发布相机流,NO为不允许
  • isLocalCameraPublishEnabled:查询当前是否允许发布相机流,返回YES为允许,NO为不允许。

    - (BOOL)isLocalCameraPublishEnabled;
  • configLocalScreenPublish(仅Mac可用):设置是否允许发布屏幕流。默认为不允许发布屏幕流,手动发布时,需要调用publish才能生效。

    - (void)configLocalScreenPublish:(BOOL)enable;
    参数 类型 描述
    enable BOOL YES为允许发布屏幕流,NO为不允许发布屏幕流
  • isLocalScreenPublishEnabled(仅Mac可用):查询当前是否允许发布屏幕流,返回YES为允许,NO为不允许。

    - (BOOL)isLocalScreenPublishEnabled;
  • configLocalAudioPublish:设置是否允许发布音频流。默认为允许发布音频流,手动发布时,需要调用publish才能生效。

    - (void)configLocalAudioPublish:(BOOL)enable;
    参数 类型 描述
    enable BOOL YES为允许发布音频流,NO为不允许
  • isLocalAudioPublishEnabled:查询当前是否允许发布音频流,返回YES为允许,NO为不允许。

    - (BOOL)isLocalAudioPublishEnabled;
  • configLocalSimulcast:设置是否允许发布次要视频流。默认为允许发布次要视频流,手动发布时,需要调用publish才能生效。

    - (int)configLocalSimulcast:(BOOL)enabled forTrack:(AliRtcVideoTrack)track;
    参数 类型 描述
    enabled BOOL YES表示允许发布次要流,NO表示不允许
    track AliRtcVideoTrack 流类型,当前只支持AliVideoTrackCamera(相机流)
  • isLocalSimulcastEnabled:查询当前是否允许发布次要视频流,返回YES为允许,NO为不允许。

    - (BOOL)isLocalSimulcastEnabled;
  • publish:手动发布视频和音频流。

    • 调用publish的实际表现需要结合configLocalCameraPublish、configLocalAudioPublish、configLocalSimulcast等接口才能确定。
    • 根据您的具体业务需求配置上述3个接口的参数,以发布相应的视频和音频流。
    • 发布和停止发布都是调用publish。
    • 如需停止发布,则需要上述3个配置接口的参数都置为NO,再调用publish。
    • 需要在加入频道成功之后调用该接口。
    - (void)publish:(void (^)(int errCode))onResult;
    参数 类型 描述
    onResult void (^)(int errCode) 当调用publish执行结束后回调
  • isAutoSubscribe:查询当前是否为自动订阅模式,返回YES为自动订阅,NO为手动订阅。

    - (BOOL)isAutoSubscribe;
  • configRemoteCameraTrack:设置是否订阅远端相机流。默认为订阅大流,手动订阅时,需要调用subscribe才能生效。

    - (void)configRemoteCameraTrack:(NSString *)uid preferMaster:(BOOL)master enable:(BOOL)enable;
    参数 类型 描述
    uid NSString * 用户ID(从AppServer下发的唯一标示符)
    master BOOL YES为订阅大流,NO为订阅次小流
    enable BOOL YES为订阅远端相机流,NO为停止订阅远端相机流
  • configRemoteScreenTrack:设置是否订阅远端屏幕流。默认为不订阅远端屏幕流,手动订阅时,需要调用subscribe才能生效。

    - (void)configRemoteScreenTrack:(NSString *)uid enable:(BOOL)enable;
    参数 类型 描述
    uid NSString * 用户ID(从AppServer获取的唯一标示符)
    enable BOOL YES为订阅远端屏幕流,NO为停止订阅远端屏幕流
  • configRemoteAudio:设置是否订阅远端音频流。默认为订阅远端音频流,手动订阅时,需要调用subscribe才能生效。

    - (void)configRemoteAudio:(NSString *)uid enable:(BOOL)enable;
    参数 类型 描述
    uid NSString * 用户ID(从AppServer下发的唯一标示符)
    enable BOOL YES为订阅远端音频流,NO为停止订阅远端音频流
  • subscribe:手动订阅视频和音频流。

    • 调用subscribe的实际表现需要结合configRemoteCameraTrack、configRemoteScreenTrack、configRemoteAudio等接口才能确定。
    • 根据您的具体业务需求配置上述3个接口的参数,以订阅相应的视频和音频流。
    • 订阅和停止订阅都是调用subscribe。
    • 如需停止订阅,则需要上述3个配置接口的参数都置为false,再调用subscribe。
    - (void)subscribe:(NSString *)uid onResult:(void (^)(NSString *uid, AliRtcVideoTrack vt, AliRtcAudioTrack at))onResult;
    参数 类型 描述
    uid NSString * 用户ID(从AppServer下发的唯一标示符)
    onResult void (^)(NSString *uid, AliRtcVideoTrack vt, AliRtcAudioTrack at) 当调用subscribe执行结束后回调
  • setVideoProfile:设置视频流的参数。

    - (void)setVideoProfile:(AliRtcVideoProfile)profile forTrack:(AliRtcVideoTrack)track;
    参数 类型 描述
    profile AliRtcVideoProfile 视频流参数
    track AliRtcVideoTrack 需要设置的视频Track类型
  • setLocalViewConfig:为本地预览设置渲染窗口以及绘制参数。

    • 支持joinChannel之前和之后切换窗口。如果viewConfig为NULL或者其成员渲染视图为NULL,则停止渲染。
    • 如果在播放过程中需要重新设置渲染方式,请保持viewConfig中其他成员变量不变,仅修改renderMode。
    • viewConfig中渲染方式默认为AliRtcRenderModeAuto。
    - (int)setLocalViewConfig:(AliVideoCanvas *)viewConfig forTrack:(AliRtcVideoTrack)track;
    参数 类型 描述
    viewConfig AliVideoCanvas * 渲染参数,包含渲染窗口以及渲染方式
    track AliRtcVideoTrack 预览只允许AliVideoTrackCamera(相机流)
  • muteLocalCamera:设置是否停止发布本地视频流,不改变当前视频流的采集状态。

    - (int)muteLocalCamera:(BOOL)mute forTrack:(AliRtcVideoTrack)track;
    参数 类型 描述
    mute BOOL YES表示停止发布视频流,NO表示恢复发布
    track AliRtcVideoTrack 需要改变发布状态的视频Track类型
  • setRemoteViewConfig:为远端的视频设置渲染窗口以及绘制参数。

    • 支持加入频道之前和之后切换窗口。如果canvas为NULL或者其成员渲染视图为NULL,则停止渲染相应的流。
    • 如果在播放过程中需要重新设置渲染方式,请保持canvas中其他成员变量不变,仅修改renderMode。
    • canvas中渲染方式默认为AliRtcRenderModeAuto。
    • 建议在订阅结果回调之后调用。
    - (int)setRemoteViewConfig:(AliVideoCanvas *)canvas uid:(NSString *)uid forTrack:(AliRtcVideoTrack)track;
    参数 类型 描述
    canvas AliVideoCanvas * 渲染参数,包含渲染窗口以及渲染方式
    uid NSString * 用户ID(从AppServer下发的唯一标示符)
    track AliRtcVideoTrack 需要设置的视频Track类型
  • getCameraList(仅Mac可用):获取摄像头列表。

    - (NSArray<AliRtcDeviceInfo *> *)getCameraList;
  • getCurrentCamera(仅Mac可用):获取当前使用的摄像头名称。

    - (NSString *)getCurrentCamera;
  • setCurrentCamera(仅Mac可用):选择摄像头。必须先调用getCameraList接口获取设备列表后再调用此接口设置。

    - (void)setCurrentCamera:(NSString *)camera;
    参数 类型 描述
    camera NSString * 摄像头名称
  • switchCamera(仅iOS可用):切换前后摄像头,返回0为切换成功,其他为切换失败

    - (int)switchCamera;
  • setCameraZoom(仅iOS可用):设置摄像头参数,返回0表示设置成功,其他表示设置失败。

     - (int)setCameraZoom:(float)zoom flash:(BOOL)flash autoFocus:(BOOL)autoFocus;
    参数 类型 描述
    zoom float 变焦的级别,取值:-3~3,默认为0
    flash BOOL 是否打开闪光灯
    autoFocus BOOL 是否打开自动对焦
  • isCameraOn:检查摄像头是否打开,YES表示摄像头已打开,NO表示摄像头没有打开。

    - (BOOL)isCameraOn;
  • isCameraFocusPointSupported(仅iOS可用):摄像头是否支持手动聚焦。

    - (BOOL)isCameraFocusPointSupported;

    该方法返回YES表示支持,NO表示不支持。

  • isCameraExposurePointSupported(仅iOS可用):摄像头是否支持设置曝光区域。

    - (BOOL)isCameraExposurePointSupported;

    该方法返回YES表示支持,NO表示不支持。

  • setCameraFocusPoint(仅iOS可用):设置摄像头手动聚焦。

    - (int)setCameraFocusPoint:(CGPoint)point;
    参数 类型 描述
    point CGPoint 聚焦点坐标

    该方法返回0表示成功,其他表示失败。

  • setCameraExposurePoint(仅iOS可用):设置摄像头曝光点。

    - (int)setCameraExposurePoint:(CGPoint)point;
    参数 类型 描述
    point CGPoint 曝光点坐标

    该方法返回0表示成功,其他表示失败。

  • subscribeVideoPreprocessData(仅iOS可用):订阅采集视频前处理裸数据。

    - (void)subscribeVideoPreprocessData:(AliRtcVideoSource)videoSource;
    参数 类型 描述
    videoSource AliRtcVideoSource 视频流类型
  • unSubscribeVideoPreprocessData(仅iOS可用):取消采集订阅前处理裸数据。

    - (void)unSubscribeVideoPreprocessData:(AliRtcVideoSource)videoSource;
    参数 类型 描述
    videoSource AliRtcVideoSource 视频流类型
  • enableHighDefinitionPreview(仅iOS可用):是否允许高清预览,默认打开。

    说明 需要在开启预览和开启推流之前调用。
    - (BOOL)enableHighDefinitionPreview:(BOOL)enable;
    参数 类型 描述
    enable BOOL YES表示允许,NO表示不允许

    该方法返回0表示成功,其他表示失败。

  • setVideoSwapWidthAndHeight:设置视频track是否需要交换宽高。返回0为成功,其他返回错误码。

    - (void)setVideoSwapWidthAndHeight:(BOOL)swapWidthAndHeight forTrack:(AliRtcVideoTrack)track;
    参数 类型 描述
    swapWidthAndHeight BOOL YES表示需要交换宽高,NO表示不需要
    track AliRtcVideoTrack 需要设置的视频Track类型
  • muteAllRemoteVideoRendering:mute/unmute远端的所有视频track的渲染。返回0为成功,其他返回错误码。

    - (int)muteAllRemoteVideoRendering:(BOOL)mute;
    参数 类型 描述
    mute BOOL YES表示停止渲染,NO表示恢复渲染
  • getCurrentCameraID:获取当前使用的摄像头ID。·

    - (NSString *)getCurrentCameraID;
  • setCurrentCameraWithID:选择摄像头。

    - (void)setCurrentCameraWithID:(NSString *)cameraID;
    参数 类型 描述
    cameraID NSString * 摄像头ID
  • setExternalVideoSource:启用外部视频输入源。返回>=0表示成功,<0表示失败。

    - (int)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AliRtcVideoSource)type;
    参数 类型 描述
    enable BOOL YES表示开启,NO表示关闭
    useTexture BOOL YES表示使用texture模式,NO表示不使用
    type AliRtcVideoSource 流类型
  • pushExternalVideoFrame:输入视频数据。返回>=0表示成功,<0表示失败。

    - (int)pushExternalVideoFrame:(AliRtcVideoDataSample *)frame sourceType:(AliRtcVideoSource)type;
    参数 类型 描述
    frame AliRtcVideoDataSample * 帧数据
    type AliRtcVideoSource 流类型
  • registerVideoSampleObserver:订阅视频数据。

    - (void)registerVideoSampleObserver;
  • unregisterVideoSampleObserver:取消订阅视频数据。

    - (void)unregisterVideoSampleObserver;
  • setAudioOnlyMode:设置是否为纯音频模式还是音视频模式,返回0代表设置成功,其他代表设置失败。默认为音视频模式(非纯音频),必须在调用joinChannel之前设置。

    - (int)setAudioOnlyMode:(BOOL)audioOnly;
    参数 类型 描述
    audioOnly BOOL YES表示只有音频发布和订阅,NO表示音视频都支持
  • isAudioOnly:查询当前是否为纯音频模式,返回YES为纯音频,NO为音视频。

    - (BOOL)isAudioOnly;
  • muteLocalMic:设置是否停止发布本地音频,返回0表示设置成功,-1表示设置失败。不改变当前音频的采集状态。

    - (int)muteLocalMic:(BOOL)mute;
    参数 类型 描述
    mute BOOL YES表示停止发布本地音频,NO表示恢复发布
  • muteRemoteAudioPlaying:设置是否停止播放远端音频流,返回0表示设置成功,-1表示设置失败。

    - (int)muteRemoteAudioPlaying:(NSString *)uid mute:(BOOL)mute;
    参数 类型 描述
    uid NSString * 用户ID(从AppServer获取的唯一标示符)
    mute BOOL YES表示停止播放,NO表示恢复播放
  • enableSpeakerphone(仅iOS可用):设置音频输出为听筒还是扬声器。返回0为成功,其他返回错误码。

     - (int)enableSpeakerphone:(BOOL)enable;
    参数 类型 描述
    enable BOOL YES为扬声器模式,NO为听筒模式(默认值)
  • getAudioCaptures(仅Mac可用):获取系统中的录音设备列表。

    - (NSArray<AliRtcDeviceInfo *> *)getAudioCaptures;
  • getCurrentAudioCapture(仅Mac可用):获取当前使用的音频采集设备名称。

    - (NSString *)getCurrentAudioCapture;
  • setCurrentAudioCapture(仅Mac可用):选择音频采集设备。必须先调用getCurrentAudioCapture接口获取设备列表后再调用此接口设置。

    - (void)setCurrentAudioCapture:(NSString *)capture;
    参数 类型 描述
    capture NSString * 音频采集设备名称
  • getAudioRenderers(仅Mac可用):获取系统中的扬声器列表。

    - (NSArray<AliRtcDeviceInfo *> *)getAudioRenderers;
  • getCurrentAudioRenderer(仅Mac可用):获取当前使用的音频播放设备。

    - (NSString *)getCurrentAudioRenderer;
  • setCurrentAudioRenderer(仅Mac可用):选择音频播放设备。必须先调用getAudioRenderers接口获取设备列表后再调用此接口设置。

    - (void)setCurrentAudioRenderer:(NSString *)renderer;
    参数 类型 描述
    renderer NSString * 音频播放设备名称
  • startAudioCapture:开启音频采集。您可以控制提前打开音频采集,如果不设置,SDK会在开始推流的时候打开音频采集。

    - (void)startAudioCapture;
  • stopAudioCapture:关闭音频采集。您可以控制关闭音频采集。

    - (void)stopAudioCapture;
  • startAudioPlayer:开启音频播放。您可以控制提前打开音频播放,如果不设置,SDK会在订阅成功的时候打开音频播放。

    - (void)startAudioPlayer;
  • stopAudioPlayer:关闭音频播放。您可以控制关闭音频播放。

    - (void)stopAudioPlayer;
  • startAudioAccompanyWithFile:开始伴奏。返回0为成功,否则返回错误码。

    说明 伴奏音乐仅支持本地音乐播放。
    - (int)startAudioAccompanyWithFile:(NSString *)filePath onlyLocalPlay:(BOOL)onlyLocalPlay replaceMic:(BOOL)replaceMic loopCycles:(NSInteger)loopCycles;
    参数 类型 描述
    filePath NSString * 文件路径
    onlyLocalPlay BOOL 是否只本地播放
    replaceMic BOOL 是否替换掉MIC
    loopCycles NSInteger 循环次数,可以设置为-1或者正整数
  • stopAudioAccompany:停止伴奏。返回0为成功,否则返回错误码。

    - (int)stopAudioAccompany;
  • setAudioAccompanyVolume:设置伴奏音量。返回0为成功,否则返回错误码。

    说明 设置音量需要在调用startAudioAccompanyWithFile后才能生效。
    - (int)setAudioAccompanyVolume:(NSInteger)volume;
    参数 类型 描述
    volume NSInteger 混音音量,取值:0~100
  • setAudioAccompanyPublishVolume:设置伴奏之后推流出去的音量。返回0为成功,否则返回错误码。

    说明 设置音量需要在调用startAudioAccompanyWithFile后才能生效。
    - (int)setAudioAccompanyPublishVolume:(NSInteger)volume;
    参数 类型 描述
    volume NSInteger 混音音量,取值:0~100
  • getAudioAccompanyPublishVolume:获取推流出去的伴奏音量。返回0为成功,否则返回错误码。

    - (int)getAudioAccompanyPublishVolume;
  • setAudioAccompanyPlayoutVolume:设置伴奏之后本地播放的音量。返回0为成功,否则返回错误码。

    说明 设置音量需要在调用startAudioAccompanyWithFile后才能生效。
    - (int)setAudioAccompanyPlayoutVolume:(NSInteger)volume;
    参数 类型 描述
    volume NSInteger 混音音量,取值:0~100
  • getAudioAccompanyPlayoutVolume:获取伴奏本地播放的音量。返回0为成功,否则返回错误码。

    - (int)getAudioAccompanyPlayoutVolume;
  • pauseAudioAccompany:暂停伴奏。返回0为成功,否则返回错误码。

    - (int)pauseAudioAccompany;
  • resumeAudioAccompany:重新开始伴奏。返回0为成功,否则返回错误码。

    - (int)resumeAudioAccompany;
  • preloadAudioEffectWithSoundId:预加载音效文件。返回0为成功,否则返回错误码。

    - (int)preloadAudioEffectWithSoundId:(NSInteger)soundId filePath:(NSString *)filePath;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
    filePath NSString * 音效文件路径
  • unloadAudioEffectWithSoundId:删除预加载的音效文件。返回0为成功,否则返回错误码。

    - (int)unloadAudioEffectWithSoundId:(NSInteger)soundId;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
  • playAudioEffectWithSoundId:开始播放音效。返回0为成功,否则返回错误码。

    - (int)playAudioEffectWithSoundId:(NSInteger)soundId filePath:(NSString *)filePath cycles:(NSInteger)cycles publish:(BOOL)publish;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
    filePath NSString * 音效文件路径
    cycles NSInteger 循环次数,可以设置-1或者正整数
    publish BOOL 是否发布
  • stopAudioEffectWithSoundId:停止播放音效。返回0为成功,否则返回错误码。

    - (int)stopAudioEffectWithSoundId:(NSInteger)soundId;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
  • setAudioEffectPublishVolumeWithSoundId:设置音效推流音量。返回0为成功,否则返回错误码。

    - (int)setAudioEffectPublishVolumeWithSoundId:(NSInteger)soundId volume:(NSInteger)volume;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
    volume NSInteger 混音音量,取值:0~100
  • getAudioEffectPublishVolumeWithSoundId:获取推流音效音量。返回0~100为成功,否则返回错误码。

    - (int)getAudioEffectPublishVolumeWithSoundId:(NSInteger)soundId;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
  • setAudioEffectPlayoutVolumeWithSoundId:设置音效本地播放音量。返回0为成功,否则返回错误码。

    - (int)setAudioEffectPlayoutVolumeWithSoundId:(NSInteger)soundId volume:(NSInteger)volume;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
    volume NSInteger 混音音量,取值:0~100
  • getAudioEffectPlayoutVolumeWithSoundId:获取音效本地播放音量。返回0为成功,否则返回错误码。

    - (int)getAudioEffectPlayoutVolumeWithSoundId:(NSInteger)soundId;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
  • pauseAudioEffectWithSoundId:暂停音效。返回0为成功,否则返回错误码。

    - (int)pauseAudioEffectWithSoundId:(NSInteger)soundId;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
  • resumeAudioEffectWithSoundId:重新开始播放音效。返回0为成功,否则返回错误码。

    - (int)resumeAudioEffectWithSoundId:(NSInteger)soundId;
    参数 类型 描述
    soundId NSInteger 用户给该音效文件分配的ID
  • enableEarBack:启用耳返。返回0为成功,否则返回错误码。

    - (int)enableEarBack:(BOOL)enable;
    参数 类型 描述
    enable BOOL YES表示开启耳返,NO表示关闭耳返
  • setEarBackVolume:设置耳返音量。返回0为成功,否则返回错误码。

    - (int)setEarBackVolume:(NSInteger)volume;
    参数 类型 描述
    volume NSInteger 音量取值:0~100,默认100
  • setSubscribeAudioNumChannel:设置回调音频声道数,默认单声道。

    - (void)setSubscribeAudioNumChannel:(AliRtcAudioNumChannel)audioNumChannel;
    参数 类型 描述
    audioNumChannel AliRtcAudioNumChannel 音频编号通道
  • setSubscribeAudioSampleRate:设置回调音频采样率,默认44.1k。

    - (void)setSubscribeAudioSampleRate:(AliRtcAudioSampleRate)audioSampleRate;
    参数 类型 描述
    audioSampleRate AliRtcAudioSampleRate 音频采样率
  • setAudioSessionOperationRestriction:设置SDK对AVAudioSession的控制权限。

    - (int)setAudioSessionOperationRestriction:(AliRtcAudioSessionOperationRestriction)restriction;
    参数 类型 描述
    restriction AliRtcAudioSessionOperationRestriction 设置权限类型
  • setRecordingVolume:设置录音音量,返回0表示操作成功,非0表示操作失败。

    - (int)setRecordingVolume:(NSInteger)volume;
    参数 类型 描述
    volume NSInteger 取值范围:0~400,0表示静音
    • 当设置>100时,表示增大音量
    • 当设置<100时,表示减小音量
  • setPlayoutVolume:设置播放音量,返回0表示操作成功,非0表示操作失败。

    - (int)setPlayoutVolume:(NSInteger)volume;
    参数 类型 描述
    volume NSInteger 取值范围:0~400,0表示静音
    • 当设置>100时,表示增大音量
    • 当设置<100时,表示减小音量
  • subscribeAudioData:订阅音频数据。

    - (void)subscribeAudioData:(AliRtcAudioSource)audioSource;
  • unSubscribeAudioData:取消订阅音频数据。

    - (void)unSubscribeAudioData:(AliRtcAudioSource)audioSource;
  • muteAllRemoteAudioPlaying:mute/unmute远端的所有音频track的播放。返回0为成功,其他返回错误码。

    - (int)muteAllRemoteAudioPlaying:(BOOL)mute;
    参数 类型 描述
    mute BOOL YES表示停止播放;NO表示恢复播放
  • setExteranlAudioRender:设置是否启用外部输入音频播放。返回>=0为成功,返回<0失败。

    - (int)setExteranlAudioRender:(BOOL)enable sampleRate:(NSUInteger)sampleRate channelsPerFrame:(NSUInteger)channelsPerFrame;
    参数 类型 描述
    enable BOOL YES开启,NO关闭
    sampleRate NSUInteger 采样率,16k、48k等
    channelsPerFrame NSUInteger 音频声道数
  • pushExternalAudioRenderRawData:输入音频播放数据。返回>=0为成功,返回<0失败。

    - (int)pushExternalAudioRenderRawData:(const void* _Nullable)audioSamples sampleLength:(NSUInteger)sampleLength sampleRate:(NSUInteger)sampleRate channelsPerFrame:(NSUInteger)channelsPerFrame timestamp:(long long)timestamp;
    参数 类型 描述
    audioSamples const void* _Nullable 音频数据
    sampleLength NSUInteger 音频数据长度
    sampleRate NSUInteger 音频采样率
    channelsPerFrame NSUInteger 音频声道数
    timestamp long long 时间戳
  • isEnableSpeakerphone:获取当前音频输出为听筒还是扬声器。返回YES为扬声器模式;NO为听筒模式。

    - (BOOL)isEnableSpeakerphone;
  • getCurrentAudioCaptureID:获取使用的录音设备ID。

    - (NSString *)getCurrentAudioCaptureID;
  • setCurrentAudioCaptureWithID:选择录音设备。

    - (void)setCurrentAudioCaptureWithID:(NSString *)captureID;
    参数 类型 描述
    captureID NSString * 设备录音ID
  • getCurrentAudioRendererID:获取当前使用的扬声器ID。

    - (NSString *)getCurrentAudioRendererID;
  • setCurrentAudioRendererWithID:选择扬声器。

    - (void)setCurrentAudioRendererWithID:(NSString *)rendererID;
    参数 类型 描述
    rendererID NSString * 扬声器ID
  • startTestAudioRecordWithName:开始测试音频采集设备。返回0表示成功,非0表示失败。

    说明 请您在加入频道之前调用。
    - (int)startTestAudioRecordWithName:(NSString *)deviceName;
    参数 类型 描述
    deviceName NSString * 音频采集设备名字。
  • stopTestAudioRecord:停止测试音频采集设备。返回0表示成功,非0表示失败。

    说明 请您在加入频道之前调用。
    - (int)stopTestAudioRecord;
  • startTestAudioPlayoutWithName:开始测试音频播放设备。返回0表示成功,非0表示失败。

    说明 请您在加入频道之前调用。
    - (int)startTestAudioPlayoutWithName:(NSString *)deviceName filePath:(NSString *)filePath loopCycles:(NSInteger)loopCycles;
    参数 类型 描述
    deviceName NSString * 音频播放设备名字
    filePath NSString * 音频文件路径
    loopCycles NSInteger 重复播放次数,-1为循环播放
  • stopTestAudioPlayout:停止测试音频播放设备。返回0表示成功,非0表示失败。

    说明 请您在加入频道之前调用。
    - (int)stopTestAudioPlayout;
  • setExternalAudioSource:设置是否启用外部音频输入源。返回>=0成功,<0失败。

    - (int)setExternalAudioSource:(BOOL)enable withSampleRate:(NSUInteger)sampleRate channelsPerFrame:(NSUInteger)channelsPerFrame;
    参数 类型 描述
    enable BOOL YES开启,NO关闭
    sampleRate NSUInteger 采样率,16k、48k等
    channelsPerFrame NSUInteger 采样率,16k、48k等
  • pushExternalAudioFrameRawData:输入音频数据。返回>=0成功,<0失败。

    - (int)pushExternalAudioFrameRawData:(void *_Nonnull)data samples:(NSUInteger)samples timestamp:(NSTimeInterval)timestamp;
    参数 类型 描述
    data void *_Nonnull 音频数据,不建议超过40ms数据
    samples NSUInteger 采样率
    timestamp NSTimeInterval 时间戳
  • setExternalAudioVolume:设置混音音量。

    - (int)setExternalAudioVolume:(int)vol;
    参数 类型 描述
    vol int 音量取值:0~100
  • getExternalAudioVolume:获取混音音量。

    - (int)getExternalAudioVolume;
  • setMixedWithMic:设置是否与麦克风采集音频混合。

    - (int)setMixedWithMic:(BOOL)mixed;
    参数 类型 描述
    mixed BOOL YES混音,NO完全替换麦克风采集数据
  • setExternalAudioRenderVolume:设置音频播放音量。

    - (int)setExternalAudioRenderVolume:(int)vol;
    参数 类型 描述
    vol int 音量取值:0~100
  • getExternalAudioRenderVolume:获取音频播放音量。

    - (int)getExternalAudioRenderVolume;
  • setVolumeCallbackIntervalMs:设置音量回调频率和平滑系数。返回0为成功,-1表示interval设置小于10,-2表示平滑系数超出范围。

    - (int)setVolumeCallbackIntervalMs:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(NSInteger)reportVad;
    参数 类型 描述
    interval NSInteger 时间间隔,单位毫秒,最小值不得小于10ms
    smooth NSInteger 平滑系数,数值越大平滑程度越高,反之越低,实时性越好,建议您设置3,范围为[0,9]
    reportVad NSInteger 本地语音检测开关,1:开启,通过onAudioVolumeCallback接口回调;0:关闭
  • setAudioEffectReverbMode:设置混响音效模式。成功返回0,失败返回错误码。

    - (int)setAudioEffectReverbMode:(AliRtcAudioEffectReverbMode)mode;
    参数 类型 描述
    mode AliRtcAudioEffectReverbMode 混响模式类型
  • setAudioEffectReverbParamType:设置混响音效类型。成功返回0,失败返回错误码。

    - (int)setAudioEffectReverbParamType:(AliRtcAudioEffectReverbParamType)type value:(float)value;
    参数 类型 描述
    type AliRtcAudioEffectReverbParamType 混响音效类型
    value float 对应混响音效类型值
  • startPreview:开始本地预览,开始预览之前需要设置setLocalViewConfig。

    - (int)startPreview;
    说明 您可以在加入频道之前开始本地预览。
  • stopPreview:停止本地预览。

    - (int)stopPreview;
  • getOnlineRemoteUsers:获取远端在线用户列表,返回用户ID列表。

    - (NSArray<NSString *> *)getOnlineRemoteUsers;
  • getUserInfo:查询远端用户信息。

    - (NSDictionary *)getUserInfo:(NSString *)uid;
    参数 类型 描述
    uid NSString * 用户ID(从AppServer获取的唯一标示符)
  • isUserOnline:查询用户是否在线,YES表示在线,NO表示不在线。

    - (BOOL)isUserOnline:(NSString *)uid;
    参数 类型 描述
    uid NSString * 用户ID(从AppServer获取的唯一标示符)
  • getMediaInfoWithUserId: 获取当前的媒体流信息。返回key-value的json格式字符串。

    - (NSString *)getMediaInfoWithUserId:(NSString *)userId videoTrack:(AliRtcVideoTrack)videoTrack keys:(NSArray<NSString *> *)keys;
    参数 类型 描述
    userId NSString * 需要查询的用户ID,self请赋值空字符串
    videoTrack AliRtcVideoTrack 需要查询的媒体流类型
    keys NSArray<NSString *> * 查询key值数组
  • setLogLevel:设置日志级别。

    - (void)setLogLevel:(AliRtcLogLevel)logLevel;
    参数 类型 描述
    logLevel AliRtcLogLevel 日志级别
  • getSdkVersion:获取SDK版本号。

    + (NSString *)getSdkVersion;
  • uploadLog:上传日志。

    + (void)uploadLog;
  • startIntelligentDenoise:开启智能降噪,该接口可以在通话过程中打开智能降噪功能。

    - (void)startIntelligentDenoise;
  • stopIntelligentDenoise:关闭智能降噪,该接口可以在通话过程中关闭智能降噪功能。

    - (void)stopIntelligentDenoise;
  • setClientRole:设置用户角色。返回0表示成功,非0表示失败。

    - (int)setClientRole:(AliRtcClientRole)role;
    参数 类型 描述
    role AliRtcClientRole 用户角色类型
  • setLogDirPath:设置SDK日志文件保存路径。返回0为成功,其他返回错误码。

    + (int)setLogDirPath:(NSString *)logDirPath;
    参数 类型 描述
    logDirPath NSString * 日志文件保存绝对路径
  • setDeviceOrientationMode:设置设备横竖屏方向。返回0为成功,其他返回错误码。当前只支持固定横竖屏模式,仅允许在发布和预览之前进行设置。

    - (int)setDeviceOrientationMode:(AliRtcOrientationMode)mode;
    参数 类型 描述
    mode AliRtcOrientationMode 设备方向
    • AliRtcOrientationModePortrait(默认值):固定竖屏模式
    • AliRtcOrientationModeLandscape:固定横屏模式Left
    • AliRtcOrientationModeLandscapeRight:固定横屏模式Right
    • AliRtcOrientationModeAuto:自适应
  • startLastmileDetect:开始网络质量探测。返回0为成功,其他返回错误码。·

    - (int)startLastmileDetect;
  • stopLastmileDetect:停止网络质量探测。返回0为成功,其他返回错误码。

    - (int)stopLastmileDetect;
  • startRecord:开始录制。成功返回YES,失败返回NO。

    - (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* 视频设置
  • stopRecord:停止录制。

    - (void)stopRecord;