AliRtcEngine接口

更新时间:2025-03-27 05:11:08

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

目录

基础接口

API

功能描述

API

功能描述

sharedInstance

创建AliRtcEngine实例。

destroy

销毁引擎。

setH5CompatibleMode

设置H5兼容模式。

getH5CompatibleMode

检查当前是否兼容H5。

频道相关接口

API

功能描述

setChannelProfile

设置频道模式。

setAudioProfile

设置音频Profile。

isAudioOnly

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

setAudioOnlyMode

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

joinChannel[1/4]

加入频道。

joinChannel[2/4]

加入频道。

joinChannel[3/4]

加入频道。

joinChannel[4/4]

加入频道。

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

功能描述

API

功能描述

startScreenShare

开启共享屏幕推流。

startScreenShare

开启共享屏幕推流。

说明

此接口即将废弃。

stopScreenShare

停止共享屏幕推流。

setAudioShareAppVolume

设置共享音频流音量。

isScreenSharePublished

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

直播旁路接口

API

功能描述

startPublishLiveStreamWithURL

开启旁路直播。

updatePublishLiveStreamWithURL

更新旁路直播相关参数。

stopPublishLiveStreamWithURL

停止旁路直播。

GetPublishLiveStreamStateWithURL

获取旁路直播状态。

网络质量探测接口

API

功能描述

startLastmileDetect

开始网络质量探测

stopLastmileDetect

停止网络质量探测

回调事件

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

旁路任务状态改变回调。

onNetworkQualityChanged

网络质量变化回调。

onLastmileDetectResultWithQuality

网络质量探测回调

onLastmileDetectResultWithBandWidth

网络质量探测结果的回调

其他接口

API

功能描述

setParameter

设置自定义参数。

getParameter

获取自定义参数。

enableAudioFrameObserver

设置音频回调参数。

registerAudioFrameObserver

注册音频数据回调。

registerVideoSampleObserver

注册视频数据输出对象。

unRegisterVideoSampleObserver

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

setLogDirPath

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

setLogLevel

设置日志等级。

setAudioSessionOperationRestriction

设置SDKAVAudioSession的控制权限。

接口详情

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。

重要

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

+ (void)setH5CompatibleMode:(BOOL)comp;

参数说明

名称

类型

描述

comp

BOOL

YES表示兼容H5,NO表示不兼容H5。默认不兼容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/4]

加入频道。

重要

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

- (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表示方法调用失败。

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;

参数说明

名称

类型

描述

authInfo

AliRtcAuthInfo

鉴权信息。

userName

String

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

onResultWithUserId

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

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

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

joinChannel[3/4]

加入频道。

- (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

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;

参数说明

名称

类型

描述

token

NSString*

认证信息,从App Server获取。

channelParam

AliRtcChannelParam

入会参数

onResult

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

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

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

leaveChannel

离开频道。

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

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

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

- (int)leaveChannel;

返回说明

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

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

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

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

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

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

- (int)setDefaultSubscribeAllRemoteAudioStreams:(BOOL)sub;

参数说明

名称

类型

描述

sub

BOOL

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

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

返回说明

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

subscribeAllRemoteAudioStreams

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

重要

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

- (int)subscribeAllRemoteAudioStreams:(BOOL)sub;

参数说明

名称

类型

描述

sub

BOOL

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

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

返回说明

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

subscribeRemoteAudioStream

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

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

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

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

参数说明

名称

类型

描述

uid

NSString *_Nonnull

远端用户ID。

sub

BOOL

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

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

返回说明

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

publishLocalVideoStream

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

- (int)publishLocalVideoStream:(BOOL)enable;

参数说明

名称

类型

描述

enable

boolean

  • YES表示发送视频。

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

isLocalVideoStreamPublished

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

- (BOOL)isLocalVideoStreamPublished;

返回说明

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

setDefaultSubscribeAllRemoteVideoStreams

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

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

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

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

- (int)setDefaultSubscribeAllRemoteVideoStreams:(BOOL)sub;

参数说明

名称

类型

描述

sub

boolean

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

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

返回说明

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

subscribeAllRemoteVideoStreams

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

说明

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

- (int)subscribeAllRemoteVideoStreams:(BOOL)sub;

参数说明

名称

类型

描述

sub

BOOL

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

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

返回说明

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

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

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

说明

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

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

参数说明

名称

类型

描述

mute

BOOL

  • YES表示本地音频发送空帧。

  • NO表示恢复正常,默认值为NO。

mode

AliRtcMuteLocalAudioMode

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

返回说明

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

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

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

说明

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

- (int)muteAllRemoteAudioPlaying:(BOOL)mute;

参数说明

名称

类型

描述

mute

BOOL

  • YES表示停止播放。

  • NO表示恢复播放,默认值为NO。

返回说明

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

startAudioCapture[1/2]

开启音频采集。

说明

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

- (void)startAudioCapture;

返回说明

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

startAudioCapture[2/2]

开启音频采集。

- (void)startAudioCapture:(BOOL)keepAlive;

参数说明

参数

类型

描述

keepAlive

boolean

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

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

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

返回说明

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

stopAudioCapture

关闭音频采集。

说明

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

- (void)stopAudioCapture;

返回说明

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

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)setAaudioEffectPlayoutVolumeWithSoundId:(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

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

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

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

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

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

参数说明

名称

类型

描述

viewConfig

AliVideoCanvas

*_Nullable

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

track

AliRtcVideoTrack

视频Track的类型。

返回说明

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

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

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

说明

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

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

参数说明

名称

类型

描述

mute

BOOL

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

track

AliRtcVideoTrack

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

返回说明

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

setRemoteViewConfig

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

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

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

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

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

参数说明

名称

类型

描述

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

switchCamera

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

- (int)switchCamera;

返回说明

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

getCurrentCameraDirection

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

- (AliRtcCameraDirection)getCurrentCameraDirection;

返回说明

返回camera方向枚举值。

startPreview

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

说明

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

- (int)startPreview;

返回说明

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

stopPreview

停止本地预览。

说明

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

- (int)stopPreview;

返回说明

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

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 *

推流地址。

返回说明

返回旁路直播状态。

startLastmileDetect

开启网络质量探测。

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

参数说明

参数

类型

说明

config

AlirtcNetworkQualityProbeConfig

探测配置的参数。

返回说明

0表示成功,其他表示失败。

stopLastmileDetect

停止网络质量探测。

- (int)stopLastmileDetect;

返回说明

0表示成功,其他表示失败。

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

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

reason

AliRtcUserOfflineReason

用户离线的原因。

onRemoteUserOnLineNotify

远端用户上线时的回调。

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

参数说明

参数

类型

描述

uid

NSString *_Nonnull

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

elapsed

int

用户加入频道时的耗时。

onRemoteTrackAvailableNotify

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

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

参数说明

参数

类型

描述

uid

NSString *_Nonnull

用户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

之前的推流状态。

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、语音状态以及音量,UID0表示本地说话人。

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

状态。

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

网络质量

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日志文件保存路径。

重要

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

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

参数说明

名称

类型

描述

logDirPath

NSString *_Nullable

日志文件保存绝对路径。

  • iOS端日志默认存储路径为Library/Caches/Ali_RTC_Log。

  • Mac端日志默认存储路径为/Users/xxx/Documents(文稿)/Ali_RTC_Log。

返回说明

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

setLogLevel

设置日志等级。

- (void)setLogLevel:(AliRtcLogLevel)logLevel;

参数说明

名称

类型

描述

logLevel

AliRtcLogLevel

Log级别,默认值为AliRtcLogLevelInfo。

setAudioSessionOperationRestriction

设置SDKAVAudioSession的控制权限。

- (int)setAudioSessionOperationRestriction:(AliRtcAudioSessionOperationRestriction)restriction;

参数说明

名称

类型

描述

名称

类型

描述

restriction

AliRtcAudioSessionOperationRestriction

SDK的控制权限,默认值为AliRtcAudioSessionOperationRestrictionNone。

startScreenShare

开始共享屏幕和音频流。

- (int)startScreenShare:(NSString * _Nonnull)appGroup
mode:(AliRtcScreenShareMode)mode;

参数说明

名称

描述

名称

描述

appGroup

APP包名,类似于 @"group.com.aliyun.rtc.demo"。

mode

屏幕共享类型,详情请参见AliRtcScreenShareMode

返回说明

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

startScreenShare

开始共享屏幕视频流。

重要

此接口即将废弃,建议使用新接口startScreenShare

- (int)startScreenShare;

返回说明

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

stopScreenShare

停止屏幕共享流,包括共享的音频流。

- (int)stopScreenShare;

返回说明

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

isScreenSharePublished

查询是否屏幕共享推流中。

- (BOOL)isScreenSharePublished;

返回说明

true:屏幕共享推流中,false:未进行屏幕共享推流。

setAudioShareAppVolume

设置共享音频流音量。

- (int)setAudioShareAppVolume:(int)volume;

参数说明

名称

描述

名称

描述

volume

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

返回说明

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

  • 本页导读 (1)
  • 目录
  • 基础接口
  • 频道相关接口
  • 发布及订阅相关接口
  • 音频设备管理相关接口
  • 音频变声与混响
  • 自定义音频输入
  • 音效文件
  • 视频设备管理相关接口
  • 自定义视频输入
  • 桌面共享接口
  • 直播旁路接口
  • 网络质量探测接口
  • 回调事件
  • 其他接口
  • 接口详情
  • sharedInstance
  • destroy
  • setH5CompatibleMode
  • getH5CompatibleMode
  • setChannelProfile
  • setAudioProfile
  • isAudioOnly
  • setAudioOnlyMode
  • joinChannel[1/4]
  • joinChannel[2/4]
  • joinChannel[3/4]
  • joinChannel[4/4]
  • leaveChannel
  • isInCall
  • setClientRole
  • getCurrentClientRole
  • refreshAuthInfo
  • refreshAuthInfoWithToken
  • publishLocalAudioStream
  • isLocalAudioStreamPublished
  • setDefaultSubscribeAllRemoteAudioStreams
  • subscribeAllRemoteAudioStreams
  • subscribeRemoteAudioStream
  • publishLocalVideoStream
  • isLocalVideoStreamPublished
  • setDefaultSubscribeAllRemoteVideoStreams
  • subscribeAllRemoteVideoStreams
  • subscribeRemoteMediaStream
  • subscribeRemoteDestChannelStream
  • muteLocalMic
  • muteRemoteAudioPlaying
  • muteAllRemoteAudioPlaying
  • startAudioCapture[1/2]
  • startAudioCapture[2/2]
  • stopAudioCapture
  • enableSpeakerphone
  • isEnableSpeakerphone
  • enableAudioVolumeIndication
  • enableEarBack
  • setEarBackVolume
  • setAudioEffectVoiceChangerMode
  • setAudioEffectPitchValue
  • setAudioEffectReverbMode
  • setAudioEffectReverbParamType
  • addExternalAudioStream
  • pushExternalAudioStream
  • setExternalAudioStream:publishVolume
  • getExternalAudioStreamPublishVolume
  • setExternalAudioStream:playoutVolume
  • getExternalAudioStreamPlayoutVolume
  • preloadAudioEffectWithSoundId
  • unloadAudioEffectWithSoundId
  • playAudioEffectWithSoundId
  • stopAudioEffectWithSoundId
  • stopAllAudioEffects
  • pauseAudioEffectWithSoundId
  • pauseAllAudioEffects
  • resumeAudioEffectWithSoundId
  • resumeAllAudioEffects
  • setAudioEffectPublishVolumeWithSoundId
  • getAudioEffectPublishVolumeWithSoundId
  • setAllAudioEffectsPublishVolume
  • setAudioEffectPlayoutVolumeWithSoundId
  • getAudioEffectPlayoutVolumeWithSoundId
  • setAllAudioEffectsPlayoutVolume
  • setLocalViewConfig
  • setCameraCapturerConfiguration
  • enableLocalVideo
  • muteLocalCamera
  • setRemoteViewConfig
  • isCameraOn
  • setVideoEncoderConfiguration
  • switchCamera
  • getCurrentCameraDirection
  • startPreview
  • stopPreview
  • setExternalVideoSource
  • pushExternalVideoFrame
  • startPublishLiveStreamWithURL
  • updatePublishLiveStreamWithURL
  • stopPublishLiveStreamWithURL
  • GetPublishLiveStreamStateWithURL
  • startLastmileDetect
  • stopLastmileDetect
  • onConnectionStatusChange
  • onLocalDeviceException
  • onAuthInfoWillExpire
  • onAuthInfoExpired
  • onJoinChannelResult[1/2]
  • onJoinChannelResult[2/2]
  • onLeaveChannelResult
  • onRemoteUserOffLineNotify
  • onRemoteUserOnLineNotify
  • onRemoteTrackAvailableNotify
  • onBye
  • onAudioPublishStateChanged
  • onAudioSubscribeStateChanged
  • onUserAudioMuted
  • onUserAudioInterruptedBegin
  • onUserAudioInterruptedEnded
  • onVideoPublishStateChanged
  • onVideoSubscribeStateChanged
  • onUserVideoMuted
  • onUserVideoEnabled
  • onUserWillResignActive
  • onUserWillBecomeActive
  • onRtcStats
  • onAudioEffectFinished
  • onAudioVolumeCallback
  • onActiveSpeaker
  • onPublishLiveStreamStateChanged
  • onPublishTaskStateChanged
  • onNetworkQualityChanged
  • onLastmileDetectResultWithQuality
  • onLastmileDetectResultWithBandWidth
  • setParameter
  • getParameter
  • enableAudioFrameObserver
  • registerAudioFrameObserver
  • registerVideoSampleObserver
  • unRegisterVideoSampleObserver
  • setLogDirPath
  • setLogLevel
  • setAudioSessionOperationRestriction
  • startScreenShare
  • startScreenShare
  • stopScreenShare
  • isScreenSharePublished
  • setAudioShareAppVolume
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等