AliRtcEngine接口

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

目录

基础接口

API

功能描述

sharedInstance

创建AliRtcEngine实例。

destroy

销毁引擎。

setH5CompatibleMode

设置H5兼容模式。

getH5CompatibleMode

检查当前是否兼容H5。

频道相关接口

API

功能描述

setChannelProfile

设置频道模式。

setAudioProfile

设置音频Profile。

isAudioOnly

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

setAudioOnlyMode

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

joinChannel[1/3]

加入频道。

joinChannel[2/3]

加入频道。

joinChannel[3/3]

加入频道。

leaveChannel

离开频道。

isInCall

检查当前是否在频道中

setClientRole

设置用户角色。

getCurrentClientRole

获取用户角色。

refreshAuthInfo

刷新鉴权信息。

refreshAuthInfoWithToken

刷新鉴权信息。

发布及订阅相关接口

API

功能描述

publishLocalAudioStream

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

isLocalAudioStreamPublished

查询当前是否推音频流。

setDefaultSubscribeAllRemoteAudioStreams

设置是否默认接收音频流,默认会订阅所有远端音频流。

此接口建议入会前调用。

subscribeAllRemoteAudioStreams

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

subscribeRemoteAudioStream

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

publishLocalVideoStream

设置是否发布视频流。

isLocalVideoStreamPublished

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

setDefaultSubscribeAllRemoteVideoStreams

设置是否默认接收视频流,默认会订阅所有远端视频频流。

此接口建议入会前调用。

subscribeAllRemoteVideoStreams

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

subscribeRemoteMediaStream

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

建议在音视频都存在且需要控制时使用此接口。

subscribeRemoteDestChannelStream

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

音频设备管理相关接口

API

功能描述

muteLocalMic

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

muteRemoteAudioPlaying

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

muteAllRemoteAudioPlaying

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

startAudioCapture[1/2]

开启音频采集。

startAudioCapture[2/2]

开启音频采集。

stopAudioCapture

关闭音频采集。

enableSpeakerphone

设置音频输出为听筒还是扬声器。

isEnableSpeakerphone

获取当前音频输出为听筒还是扬声器。

enableAudioVolumeIndication

开启音量检测功能。

enableEarBack

启用耳返。

setEarBackVolume

设置耳返音量(仅iOS)

音频变声与混响

API

功能描述

setAudioEffectVoiceChangerMode

设置变声音效模式。

setAudioEffectPitchValue

设置变调参数。

setAudioEffectReverbMode

设置混响音效模式。

setAudioEffectReverbParamType

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

自定义音频输入

API

功能描述

addExternalAudioStream

增加外部音频流。

pushExternalAudioStream

输入外部音频流数据。

setExternalAudioStream:publishVolume

设置推流音量。

getExternalAudioStreamPublishVolume

获取推流音量。

setExternalAudioStream:playoutVolume

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

getExternalAudioStreamPlayoutVolume

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

音效文件

API

功能描述

preloadAudioEffectWithSoundId

预加载音效文件。

unloadAudioEffectWithSoundId

删除预加载的音效文件。

playAudioEffectWithSoundId

开始播放音效。

stopAudioEffectWithSoundId

停止播放音效。

stopAllAudioEffects

停止播放所有音效。

pauseAudioEffectWithSoundId

暂停音效。

pauseAllAudioEffects

暂停所有音效。

resumeAudioEffectWithSoundId

恢复指定音效文件。

resumeAllAudioEffects

恢复所有音效文件。

setAudioEffectPublishVolumeWithSoundId

设置音效推流混音音量。

getAudioEffectPublishVolumeWithSoundId

获取音效推流混音音量。

setAllAudioEffectsPublishVolume

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

setAudioEffectPlayoutVolumeWithSoundId

设置音效本地播放音量。

getAudioEffectPlayoutVolumeWithSoundId

获取音效本地播放音量。

setAllAudioEffectsPlayoutVolume

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

视频设备管理相关接口

API

功能描述

setLocalViewConfig

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

setCameraCapturerConfiguration

设置摄像头采集偏好。

enableLocalVideo

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

muteLocalCamera

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

setRemoteViewConfig

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

isCameraOn

检查摄像头是否打开。

setVideoEncoderConfiguration

设置视频编码属性。

switchCamera

切换前后摄像头(默认为前置摄像头)。

getCurrentCameraDirection

获取当前摄像头方向。

startPreview

开始本地预览。

stopPreview

停止本地预览。

自定义视频输入

API

功能描述

setExternalVideoSource

启用外部视频输入源。

pushExternalVideoFrame

输入视频数据。

直播旁路接口

API

功能描述

startPublishLiveStreamWithURL

开启旁路直播。

updatePublishLiveStreamWithURL

更新旁路直播相关参数。

stopPublishLiveStreamWithURL

停止旁路直播。

GetPublishLiveStreamStateWithURL

获取旁路直播状态。

回调事件

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

远端用户应用返回前台。

onRtcStats

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

onAudioEffectFinished

本地音效播放结束回调。

onAudioVolumeCallback

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

onActiveSpeaker

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

onPublishLiveStreamStateChanged

旁路推流状态改变回调。

onPublishTaskStateChanged

旁路任务状态改变回调。

其他接口

API

功能描述

setParameter

设置自定义参数。

getParameter

获取自定义参数。

enableAudioFrameObserver

设置音频回调参数。

registerAudioFrameObserver

注册音频数据回调。

registerVideoSampleObserver

注册视频数据输出对象。

unRegisterVideoSampleObserver

取消注册视频数据输出对象。

setLogDirPath

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

setLogLevel

设置日志等级。

接口详情

  • sharedInstance:创建AliRtcEngine实例。

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

    参数说明

    名称

    类型

    描述

    delegate

    id<AliRtcEngineDelegate>_Nullable

    监听回调的代理。

    extras

    NSString *_Nullable

    通过JSON配置SDK的特别功能,详情请参见extras参数配置说明。无需特别功能,可填空字符:""。

    重要

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

  • destroy:释放SDK实例。

    + (void)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。

    返回说明

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

    重要

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

  • setAudioProfile:设置音频Profile。

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

    参数说明

    名称

    类型

    描述

    audio_profile

    AliRtcAudioProfile

    音频采集或编码模式参数,默认值为AliEngineBasicQualityMode。

    audio_scene

    AliRtcAudioScenario

    音频场景模式参数,默认值为AliEngineSceneDefaultMode。

    返回说明

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

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

    - (BOOL)isAudioOnly;

    返回说明

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

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

    - (int)setAudioOnlyMode:(BOOL)audioOnly;

    参数说明

    名称

    类型

    描述

    audioOnly

    BOOL

    • YES表示只有音频推流和拉流。

    • NO表示音视频都支持,默认值为NO。

    返回说明

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

  • joinChannel[1/3]:加入频道。

    - (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/3]:加入频道。

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

    参数说明

    名称

    类型

    描述

    authInfo

    AliRtcAuthInfo

    鉴权信息。

    userName

    String

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

    onResultWithUserId

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

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

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

  • joinChannel[3/3]:加入频道。

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

    参数说明

    名称

    类型

    描述

    authInfo

    AliRtcAuthInfo

    鉴权信息。

    userName

    String

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

    onResult

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

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

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

  • leaveChannel:离开频道。

    - (int)leaveChannel;

    返回说明

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

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

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

    • 如果当前不在频道内,调用leaveChannel不会对实例产生任何影响,但会产生消息,通知频道内其他用户。

  • isInCall:检查当前是否在频道中。

    - (BOOL)isInCall;

    返回说明

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

  • setClientRole:设置用户角色。

    - (int)setClientRole:(AliRtcClientRole)role;

    参数说明

    名称

    类型

    描述

    role

    AliRtcClientRole

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

    返回说明

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

  • getCurrentClientRole:获取用户角色(仅iOS)。

    - (AliRtcClientRole)getCurrentClientRole;

    返回说明

    返回当前用户角色。

  • refreshAuthInfo:刷新鉴权信息。

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

    参数说明

    名称

    类型

    描述

    authInfo

    AliRtcAuthInfo *_Nonnull

    鉴权信息。

    返回说明

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

  • refreshAuthInfoWithToken:刷新鉴权信息。

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

    参数说明

    名称

    类型

    描述

    token

    NSString *_Nonnull

    单参数入会的鉴权信息。

    返回说明

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

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

    - (int)publishLocalAudioStream:(BOOL)enable;

    参数说明

    名称

    类型

    描述

    enable

    boolean

    • 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,并指定您想要接收的远端用户UID。

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

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

    - (int)subscribeAllRemoteAudioStreams:(BOOL)sub;

    参数说明

    名称

    类型

    描述

    sub

    BOOL

    • YES表示接收所有用户的音频流。

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

    返回说明

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

    重要

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

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

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

    参数说明

    名称

    类型

    描述

    uid

    NSString *_Nonnull

    远端用户ID。

    sub

    BOOL

    • YES表示接收指定用户的音频流。

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

    返回说明

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

    说明
    • 如果之前有调用过subscribeAllRemoteAudioStreams:NO对所有远端音频进行静音,在调用本API之前请确保您已调用subscribeAllRemoteAudioStreams:YES。

    • subscribeAllRemoteAudioStreams是全局控制,subscribeRemoteAudioStream是精细控制。

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

    - (int)publishLocalVideoStream:(BOOL)enable;

    参数说明

    名称

    类型

    描述

    enable

    boolean

    • YES表示发送视频。

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

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

    - (BOOL)isLocalVideoStreamPublished;

    返回说明

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

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

    - (int)setDefaultSubscribeAllRemoteVideoStreams:(BOOL)sub;

    参数说明

    名称

    类型

    描述

    sub

    boolean

    • YES表示接收用户的视频流。

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

    返回说明

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

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

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

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

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

    - (int)subscribeAllRemoteVideoStreams:(BOOL)sub;

    参数说明

    名称

    类型

    描述

    sub

    BOOL

    • YES表示接收所有用户的视频流。

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

    返回说明

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

    说明

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

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

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

    参数说明

    参数

    类型

    描述

    uid

    String

    远端用户ID。

    videoTrack

    AliRtcVideoTrack

    视频流类型。

    subVideo

    boolean

    停止或恢复特定远端用户的视频流拉取,取值:

    • true(默认值):恢复。

    • false:停止。

    subAudio

    boolean

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

    • true(默认值):恢复。

    • false:停止。

    返回说明

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

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

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

    参数说明

    参数

    类型

    描述

    channelId

    String

    远端频道ID。

    uid

    String

    远端用户ID。

    track

    AliRtcVideoTrack

    需要订阅的视频流。

    sub_audio

    boolean

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

    • true(默认值):恢复。

    • false:停止。

    sub

    boolean

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

    返回说明

    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;- (int)muteRemoteAudioPlaying:(NSString *_Nonnull)uid mute:(BOOL)mute;- (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表示方法调用成功,其他表示方法调用失败。

    说明

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

  • startAudioCapture[1/2]:开启音频采集。

    - (void)startAudioCapture;

    返回说明

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

    说明

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

  • startAudioCapture[2/2]:开启音频采集。

    - (void)startAudioCapture:(BOOL)keepAlive;

    参数说明

    参数

    类型

    描述

    keepAlive

    boolean

    离会后采集设备的状态,取值:

    • true:离会后采集设备保持开启状态。

    • false(默认值):离会后采集设备关闭。

    返回说明

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

  • stopAudioCapture:关闭音频采集。

    - (void)stopAudioCapture;

    返回说明

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

    说明

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

  • enableSpeakerphone:设置音频输出为听筒或扬声器(仅iOS)。

    - (int)enableSpeakerphone:(BOOL)enable;

    参数说明

    名称

    类型

    描述

    enable

    BOOL

    • YES表示扬声器模式。

    • NO表示听筒模式,默认为YES。

    返回说明

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

  • isEnableSpeakerphone:获取当前音频输出为听筒或扬声器(仅iOS)。

    - (BOOL)isEnableSpeakerphone;

    返回说明

    YES表示扬声器模式,NO表示听筒模式。

  • 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:开启,通过onAudioVolumeCallback接口回调每一个说话人的状态。

    • 0:关闭。

    返回说明

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

  • enableEarBack:启用耳返(仅iOS)。

    - (int)enableEarBack:(BOOL)enable;

    参数说明

    名称

    类型

    描述

    enable

    BOOL

    • YES表示启用耳返。

    • NO表示关闭耳返,默认值为NO。

    返回说明

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

  • setEarBackVolume:设置耳返音量(仅iOS)。

    - (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:删除预加载的音效文件。

    - (int)unloadAudioEffectWithSoundId:(NSInteger)soundId;

    参数说明

    名称

    类型

    描述

    soundId

    NSInteger

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

    返回说明

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

  • playAudioEffectWithSoundId:开始播放音效。

    - (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:停止播放音效。

    - (int)stopAudioEffectWithSoundId:(NSInteger)soundId;

    参数说明

    名称

    类型

    描述

    soundId

    NSInteger

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

    返回说明

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

  • stopAllAudioEffects:停止播放所有音效。

    - (int)stopAllAudioEffects;

    返回说明

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

  • pauseAudioEffectWithSoundId:暂停音效。

    - (int)pauseAudioEffectWithSoundId:(NSInteger)soundId;

    参数说明

    名称

    类型

    描述

    soundId

    NSInteger

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

    返回说明

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

  • pauseAllAudioEffects:暂停所有音效。

    - (int)pauseAllAudioEffects;

    返回说明

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

  • resumeAudioEffectWithSoundId:重新开始播放音效。

    - (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表示方法调用成功,其他表示方法调用失败。

  • 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表示方法调用成功,其他表示方法调用失败。

    说明
    • 支持joinChannel之前和之后切换窗口。如果canvas或者AliVideoCanvas::view为nil,则停止渲染。

    • 如果在播放过程中需要重新设置render mode,请保持canvas中其他成员变量不变,仅修改renderMode。

    • 如果在播放过程中需要重新设置mirror mode,请保持canvas中其他成员变量不变,仅修改mirrorMode。

  • setCameraCapturerConfiguration:设置摄像头采集偏好。

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

    参数说明

    名称

    类型

    描述

    config

    AliRtcCameraCapturerConfiguration

    * _Nonnull

    摄像头采集偏好,默认值:

    • preference:0

    • cameraDirection:0

    返回说明

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

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

    - (int)enableLocalVideo:(BOOL)enable;

    参数说明

    名称

    类型

    描述

    enable

    BOOL

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

    返回说明

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

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

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

    参数说明

    名称

    类型

    描述

    mute

    BOOL

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

    track

    AliRtcVideoTrack

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

    返回说明

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

    说明

    此接口只是控制指定视频流上是否发送黑帧,采集和数据发送不会停止,如果需要关闭采集请使用enableLocalVideo接口,如果需要中止视频数据发送请使用publishLocalVideoStream接口。

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

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

    参数说明

    名称

    类型

    描述

    canvas

    AliVideoCanvas

    *_Nullable

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

    uid

    NSString *_Nonnull

    用户ID。

    track

    AliRtcVideoTrack

    需要设置的视频Track类型。

    返回说明

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

    说明
    • 支持joinChannel之前和之后切换窗口。如果canvas为nil或者view为nil,则停止渲染相应的流。

    • 如果在播放过程中需要重新设置render mode,请保持canvas中其他成员变量不变,仅修改renderMode。

    • 如果在播放过程中需要重新设置mirror mode,请保持canvas中其他成员变量不变,仅修改mirrorMode。

  • 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

  • switchCamera:切换前后摄像头,默认为前置摄像头(仅iOS)。

    - (int)switchCamera;

    返回说明

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

  • getCurrentCameraDirection:获取当前摄像头方向,默认前置摄像头(仅iOS)。

    - (AliRtcCameraDirection)getCurrentCameraDirection;

    返回说明

    返回camera方向枚举值。

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

    - (int)startPreview;

    返回说明

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

    说明

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

  • stopPreview:停止本地预览。

    - (int)stopPreview;

    返回说明

    说明

    0表示方法调用成功,其他表示方法调用失败。 leaveChannel会自动停止本地预览,且会自动关闭摄像头(如果正在推camera流,则不会关闭摄像头)。

  • 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表示方法调用成功,其他表示方法调用失败。

  • startPublishLiveStreamWithURL:开启旁路直播。

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

    参数说明

    名称

    类型

    描述

    streamUrl

    NSString *

    推流地址。

    transcoding

    AliRtcLiveTranscodingParam

    *

    推流所需参数。

    返回说明

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

  • updatePublishLiveStreamWithURL:更新旁路直播相关参数。

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

    参数说明

    名称

    类型

    描述

    streamUrl

    NSString *

    推流地址。

    transcoding

    AliRtcLiveTranscodingParam

    *

    推流所需参数。

    返回说明

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

  • stopPublishLiveStreamWithURL:停止旁路直播。

    - (int)stopPublishLiveStreamWithURL:(NSString *_Nonnull)streamURL;

    参数说明

    名称

    类型

    描述

    streamUrl

    NSString *_Nonnull

    推流地址。

    返回说明

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

  • GetPublishLiveStreamStateWithURL:获取旁路直播状态。

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

    参数说明

    参数

    类型

    说明

    streamURL

    NSString *

    推流地址。

    返回说明

    返回旁路直播状态。

  • 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]:加入频道结果回调(该回调等同于调用joinChannel接口的block操作,即处理加入频道之后的事件,选择其一即可)。

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

    参数

    类型

    描述

    result

    int

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

    channel

    NSString *_Nonnull

    加入的频道ID。

    userId

    NSString *_Nonnull

    加入的用户ID。

    elapsed

    int

    加入频道耗时。

  • onJoinChannelResult[2/2]:加入频道结果回调(该回调等同于调用joinChannel接口的block操作,即处理加入频道之后的事件,选择其一即可)。

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

    参数

    类型

    描述

    result

    int

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

    channel

    NSString *_Nonnull

    加入的频道ID。

    elapsed

    int

    加入频道耗时。

  • onLeaveChannelResult:离开频道结果回调。调用leaveChannel接口后返回,如果调用leaveChannel后直接调用destroy,将不会收到此回调。

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

    参数

    类型

    描述

    result

    int

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

    stats

    AliRtcStats

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

  • onRemoteUserOffLineNotify:远端用户下线时的回调。

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

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

    reason

    AliRtcUserOfflineReason

    用户离线的原因。

  • onRemoteUserOnLineNotify:远端用户上线时的回调。

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

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

    elapsed

    int

    用户加入频道时的耗时。

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

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    用户ID从App 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

    之前的推流状态。

    newStat

    AliRtcPublishState

    当前的推流状态。

    elapseSinceLastState

    NSInteger

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

    channel

    NSString *_Nonnull

    当前频道ID。

  • onAudioSubscribeStateChanged:音频订阅情况变更回调。

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    订阅情况变更的用户ID。

    oldState

    AliRtcSubscribeState

    之前的订阅状态。

    newState

    AliRtcSubscribeState

    当前的订阅状态。

    elapseSinceLastState

    NSInteger

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

    channel

    NSString *_Nonnull

    当前频道ID。

  • onUserAudioMuted:用户muteAudio通知。

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    执行muteAudio的用户ID。

    isMute

    BOOL

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

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

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    audio被中断的用户ID。

  • onUserAudioInterruptedEnded:用户audio中断结束通知(对应onUserAudioInterruptedBegin)。

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    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 *_Nonnull

    当前频道ID。

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

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    订阅情况变更的用户ID。

    oldState

    AliRtcSubscribeState

    之前的订阅状态。

    newState

    AliRtcSubscribeState

    当前的订阅状态。

    elapseSinceLastState

    NSInteger

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

    channel

    NSString *_Nonnull

    当前频道ID。

  • onUserVideoMuted:用户muteVideo通知。

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    执行muteVideo的用户ID。

    isMute

    BOOL

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

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

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    执行EnableLocalVideo的用户ID。

    isMute

    BOOL

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

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

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    应用退到后台的用户ID。

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

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    应用返回前台的用户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

    *> *_Nullable

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

    totalVolume

    int

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

  • onActiveSpeaker:当前正在说话的人的回调。

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

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    当前正在说话的人的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

    状态。

  • setParameter:设置自定义参数

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

    参数

    类型

    描述

    param

    String

    自定义参数。

  • getParameter:获取自定义参数。

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

    参数

    类型

    描述

    param

    String

    自定义参数。

  • enableAudioFrameObserver:设置音频回调参数。

    - (int)enableAudioFrameObserver:(bool)enable audioSource: (AliRtcAudioSource)audioSource config:(AliRtcAudioFrameObserverConfig*_Nullable)config;

    参数

    类型

    描述

    enable

    bool

    是否允许数据回调。

    audioSource

    AliRtcAudioSource

    回调数据源类型。

    config

    AliRtcAudioFrameObserverConfig

    回调参数设置。

  • registerAudioFrameObserver:注册音频数据输出。

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

    参数

    类型

    描述

    observer

    AliRtcAudioFrameDelegate

    音频数据回调。

  • 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。

    返回说明

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

    重要

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

  • setLogLevel:设置日志等级。

    - (void)setLogLevel:(AliRtcLogLevel)logLevel;

    参数说明

    名称

    类型

    描述

    logLevel

    AliRtcLogLevel

    Log级别,默认值为AliRtcLogLevelInfo。