本章节为您介绍了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

音频相关接口

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 设置录音音量 1.16
setPlayoutVolume 设置播放音量 1.16
subscribeAudioData 订阅音频数据(仅Mac) 1.16
unSubscribeAudioData 取消订阅音频数据(仅Mac) 1.16

预览接口

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

远端用户查询接口

API 描述 以上版本支持
getOnlineRemoteUsers 获取远端在线用户列表 1.1
getUserInfo 查询远端用户信息 1.1
isUserOnline 查询用户是否在线 1.1
getMediaInfoWithUserId 获取当前的媒体流信息 1.9

其他接口

API 描述 以上版本支持
setLogLevel 设置日志级别 1.1
getSdkVersion 获取SDK版本号 1.1
uploadLog 上传日志 1.15
startIntelligentDenoise 开启智能降噪(仅Mac) 1.15
stopIntelligentDenoise 关闭智能降噪(仅Mac) 1.15
setClientRole 设置用户角色 1.16

接口详情

  • 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 * 用户的显示名称,不是uid
    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 需要设置的videoTrack类型。
  • 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 需要改变发布状态的videoTrack类型。
  • setRemoteViewConfig:为远端的视频设置渲染窗口以及绘制参数。

    • 支持joinChannel之前和之后切换窗口。如果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 需要设置的videoTrack类型。
  • getCameraList(仅Mac可用):获取摄像头列表。

    - (NSArray<NSString *> *)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 zoom变焦的级别,取值:-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表示成功,其他表示失败。

  • 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可用):切换听筒、扬声器输出。

     - (int)enableSpeakerphone:(BOOL)enable;

    参数:

    参数 类型 描述
    enable BOOL YES为扬声器模式,NO为听筒模式。
  • getAudioCaptures(仅Mac可用):获取音频采集设备列表。

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

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

    - (void)setCurrentAudioCapture:(NSString *)capture;

    参数:

    参数 类型 描述
    capture NSString * 音频采集设备名称。
  • getAudioRenderers(仅Mac可用):获取音频播放设备列表。

    - (NSArray<NSString *> *)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为成功,否则返回错误码。

    - (int)setAudioAccompanyVolume:(NSInteger)volume;

    参数:

    参数 类型 描述
    volume NSInteger 混音音量 0~100。
  • setAudioAccompanyPublishVolume:设置伴奏之后推流出去的音量。返回0为成功,否则返回错误码。

    - (int)setAudioAccompanyPublishVolume:(NSInteger)volume;

    参数:

    参数 类型 描述
    volume NSInteger 混音音量 0~100。
  • getAudioAccompanyPublishVolume:获取推流出去的伴奏音量。返回0为成功,否则返回错误码。

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

    - (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 是否发布,true|false。
  • 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;
  • 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 * 需要查询的userId,self请赋值空字符串。
    videoTrack AliRtcVideoTrack 需要查询的媒体流类型。
    keys NSArray<NSString *> * 查询key值数组。
  • setLogLevel:设置log级别。

    - (void)setLogLevel:(AliRtcLogLevel)logLevel;

    参数:

    参数 类型 描述
    logLevel AliRtcLogLevel 日志级别。
  • getSdkVersion:获取SDK版本号。

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

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

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

    - (void)stopIntelligentDenoise;
  • setClientRole:设置频道模式。返回0表示成功,非0表示失败。您仅可以在频道模式为InteractiveLive下调用;入会前或会议中均可设置,设置成功会收到onUpdateRoleNotify;从Interactive转换为Live角色需要先停止推流,否则返回失败。

    - (int)setClientRole:(AliRtcClientRole)role;
    参数 类型 描述
    role AliRtcClientRole 用户角色类型。