本文介绍实时音视频iOS SDK接口详情。
目录
基础接口
API | 功能描述 |
API | 功能描述 |
创建AliRtcEngine实例。 | |
销毁引擎。 | |
设置H5兼容模式。 | |
检查当前是否兼容H5。 |
频道相关接口
API | 功能描述 |
设置频道模式。 | |
设置音频Profile。 | |
查询当前是否为纯音频模式。 | |
设置为纯音频模式还是音视频模式。 | |
加入频道。 | |
加入频道。 | |
加入频道。 | |
加入频道。 | |
离开频道。 | |
检查当前是否在频道中 | |
设置用户角色。 | |
获取用户角色。 | |
刷新鉴权信息。 | |
刷新鉴权信息。 |
发布及订阅相关接口
API | 功能描述 |
设置是否发布音频流,默认会推送音频流。 | |
查询当前是否推音频流。 | |
设置是否默认接收音频流,默认会订阅所有远端音频流。 此接口建议入会前调用。 | |
停止或恢复接收所有远端音频流。 | |
停止或恢复特定远端用户的音频流拉取。 | |
设置是否发布视频流。 | |
查询当前是否发布视频流。 | |
设置是否默认接收视频流,默认会订阅所有远端视频频流。 此接口建议入会前调用。 | |
停止或恢复接收所有远端视频流。 | |
停止或恢复特定远端用户的媒体流。 建议在音视频都存在且需要控制时使用此接口。 | |
停止或恢复跨频道特定远端用户的媒体流。 |
音频设备管理相关接口
API | 功能描述 |
设置是否停止发布本地音频。 | |
设置是否停止播放远端音频流。 | |
停止或恢复远端所有的音频播放。 | |
开启音频采集。 | |
开启音频采集。 | |
关闭音频采集。 | |
设置音频输出为听筒还是扬声器。 | |
获取当前音频输出为听筒还是扬声器。 | |
开启音量检测功能。 | |
启用耳返。 | |
设置耳返音量(仅iOS) |
音频变声与混响
API | 功能描述 |
设置变声音效模式。 | |
设置变调参数。 | |
设置混响音效模式。 | |
设置混响音效类型和具体参数。 |
自定义音频输入
API | 功能描述 |
增加外部音频流。 | |
输入外部音频流数据。 | |
设置推流音量。 | |
获取推流音量。 | |
设置外部音频流播放音量。 | |
获取外部音频流播放音量。 |
音效文件
API | 功能描述 |
预加载音效文件。 | |
删除预加载的音效文件。 | |
开始播放音效。 | |
停止播放音效。 | |
停止播放所有音效。 | |
暂停音效。 | |
暂停所有音效。 | |
恢复指定音效文件。 | |
恢复所有音效文件。 | |
设置音效推流混音音量。 | |
获取音效推流混音音量。 | |
设置所有音效推流混音音量。 | |
设置音效本地播放音量。 | |
获取音效本地播放音量。 | |
设置所有音效本地播音量。 |
视频设备管理相关接口
API | 功能描述 |
为本地预览设置渲染窗口以及绘制参数。 | |
设置摄像头采集偏好。 | |
禁用或重新启用本地视频采集。 | |
设置是否停止发布本地视频流。 | |
为远端的视频设置渲染窗口以及绘制参数。 | |
检查摄像头是否打开。 | |
设置视频编码属性。 | |
切换前后摄像头(默认为前置摄像头)。 | |
获取当前摄像头方向。 | |
开始本地预览。 | |
停止本地预览。 |
自定义视频输入
API | 功能描述 |
启用外部视频输入源。 | |
输入视频数据。 |
桌面共享接口
API | 功能描述 |
API | 功能描述 |
开启共享屏幕推流。 | |
开启共享屏幕推流。 此接口即将废弃。 | |
停止共享屏幕推流。 | |
设置共享音频流音量。 | |
查询是否设置推送屏幕分享。 |
直播旁路接口
API | 功能描述 |
开启旁路直播。 | |
更新旁路直播相关参数。 | |
停止旁路直播。 | |
获取旁路直播状态。 |
网络质量探测接口
API | 功能描述 |
开始网络质量探测 | |
停止网络质量探测 |
回调事件
API | 功能描述 |
网络链接状态回调;客户需要关心此回调。 | |
本地设备异常回调;客户需要关心此回调。 | |
用户鉴权信息即将过期通知,收到后30秒鉴权过期;客户需要关心此回调。 | |
用户调用需要鉴权的接口,服务端返回信息过期。 | |
加入频道结果回调。 | |
加入频道结果回调。 | |
离开频道结果回调。 | |
远端用户离线通知。 | |
远端用户上线通知。 | |
远端推流信息通知。 | |
被服务器踢出/会议结束频道的消息。 | |
音频推流状态通知。 | |
音频拉流状态通知。 | |
远端用户静音通知。 | |
音频设备打断开始通知。 | |
音频设备打断结束通知。 | |
视频推流变更回调。 | |
相机流订阅情况变更回调。 | |
对端用户发送视频黑帧数据发送通知。 | |
对端用户关闭相机流采集发送通知。 | |
远端用户应用退到后台。 | |
远端用户应用返回前台。 | |
实时数据回调(2s触发一次)。 | |
本地音效播放结束回调。 | |
订阅的音频音量,语音状态和uid。 | |
语音激励,监测到活跃用户回调。 | |
旁路推流状态改变回调。 | |
旁路任务状态改变回调。 | |
网络质量变化回调。 | |
网络质量探测回调 | |
网络质量探测结果的回调 |
其他接口
API | 功能描述 |
设置自定义参数。 | |
获取自定义参数。 | |
设置音频回调参数。 | |
注册音频数据回调。 | |
注册视频数据输出对象。 | |
取消注册视频数据输出对象。 | |
设置SDK日志文件保存路径。 | |
设置日志等级。 | |
设置SDK对AVAudioSession的控制权限。 |
接口详情
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 |
|
返回说明
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 |
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
isLocalAudioStreamPublished
查询当前是否允许推音频流。
- (BOOL)isLocalAudioStreamPublished;
返回说明
YES表示允许推送,NO表示不允许推送。
setDefaultSubscribeAllRemoteAudioStreams
设置是否默认接收音频流。
入会前、后均可调用。如果在加入频道后调用setDefaultSubscribeAllRemoteAudioStreams:NO,会接收不到设置后加入频道的用户的音频流。
停止接收音频流后,如果想要恢复接收,请调用subscribeRemoteAudioStream:uid sub:YES,并指定您想要接收的远端用户UID。
如果想恢复接收多个用户的音频流,则需要多次调用subscribeRemoteAudioStream。setDefaultSubscribeAllRemoteAudioStreams:YES只能恢复接收后面加入频道的用户的音频流。
- (int)setDefaultSubscribeAllRemoteAudioStreams:(BOOL)sub;
参数说明
名称 | 类型 | 描述 |
sub | BOOL |
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
subscribeAllRemoteAudioStreams
停止或恢复接收所有远端音频流。
该接口作为订阅远端音频流的总开关,如果设置为NO,则不仅当前会议中所有远端音频流都会停止订阅,后续入会的新用户也将不再订阅(即使设置了setDefaultSubscribeAllRemoteAudioStreams:YES)。
- (int)subscribeAllRemoteAudioStreams:(BOOL)sub;
参数说明
名称 | 类型 | 描述 |
sub | BOOL |
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
subscribeRemoteAudioStream
停止或恢复特定远端用户的音频流拉取。
如果之前有调用过subscribeAllRemoteAudioStreams:NO对所有远端音频进行静音,在调用本API之前请确保您已调用subscribeAllRemoteAudioStreams:YES。
subscribeAllRemoteAudioStreams是全局控制,subscribeRemoteAudioStream是精细控制。
- (int)subscribeRemoteAudioStream:(NSString *_Nonnull)uid sub:(BOOL)sub;
参数说明
名称 | 类型 | 描述 |
uid | NSString *_Nonnull | 远端用户ID。 |
sub | BOOL |
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
publishLocalVideoStream
设置是否允许发布相机流。
- (int)publishLocalVideoStream:(BOOL)enable;
参数说明
名称 | 类型 | 描述 |
enable | boolean |
|
isLocalVideoStreamPublished
查询当前是否允许发布视频流。
- (BOOL)isLocalVideoStreamPublished;
返回说明
YES表示发布相机流,NO表示不发布相机流。
setDefaultSubscribeAllRemoteVideoStreams
设置是否默认接收视频流。
入会前、后均可调用。如果在加入频道后调用setDefaultSubscribeAllRemoteVideoStreams:NO,会接收不到设置后加入频道的用户的视频流。
停止接收视频流后,如果想要恢复接收,请调用subscribeRemoteVideoStream:uid track:track sub:YES,并指定您想要接收的远端用户UID。
如果想恢复接收多个用户的视频流,则需要多次调用subscribeRemoteVideoStream,setDefaultSubscribeAllRemoteVideoStreams:YES 只能恢复接收后面加入频道的用户的视频流。
- (int)setDefaultSubscribeAllRemoteVideoStreams:(BOOL)sub;
参数说明
名称 | 类型 | 描述 |
sub | boolean |
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
subscribeAllRemoteVideoStreams
停止或恢复接收所有远端视频流。
该接口作为订阅远端视频流的总开关,如果设置为NO,则不仅当前会议中所有远端视频流都会停止订阅,后续入会的新用户也将不再订阅(即使设置了setDefaultSubscribeAllRemoteVideoStreams:YES)。
- (int)subscribeAllRemoteVideoStreams:(BOOL)sub;
参数说明
名称 | 类型 | 描述 |
sub | BOOL |
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
subscribeRemoteMediaStream
停止或恢复特定远端用户的媒体流。
- (int)subscribeRemoteMediaStream:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack subVideo:(BOOL)subVideo subAudio:(BOOL)subAudio;
参数说明
参数 | 类型 | 描述 |
uid | String | 远端用户ID。 |
videoTrack | AliRtcVideoTrack | 视频流类型。 |
subVideo | boolean | 停止或恢复特定远端用户的视频流拉取,取值:
|
subAudio | boolean | 停止或恢复特定远端用户的音频流拉取,取值:
|
返回说明
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 | 停止或恢复特定远端用户的音频流拉取,取值:
|
sub | boolean | 停止或恢复跨频道订阅指定用户的流。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
muteLocalMic
停止或恢复本地音频数据发送。
mute只是发送音频数据为静音帧,采集和编码模块仍然在工作。
- (int)muteLocalMic:(BOOL)mute mode:(AliRtcMuteLocalAudioMode)mode;
参数说明
名称 | 类型 | 描述 |
mute | BOOL |
|
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 |
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
muteAllRemoteAudioPlaying
停止或恢复远端所有的音频播放。
拉流和解码不受影响。支持joinChannel之前和之后设置。
- (int)muteAllRemoteAudioPlaying:(BOOL)mute;
参数说明
名称 | 类型 | 描述 |
mute | BOOL |
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
startAudioCapture[1/2]
开启音频采集。
此接口可以控制提前打开音频采集,如果不设置,则SDK会在合适的时机在打开音频采集。
- (void)startAudioCapture;
返回说明
0表示方法调用成功,其他表示方法调用失败。
startAudioCapture[2/2]
开启音频采集。
- (void)startAudioCapture:(BOOL)keepAlive;
参数说明
参数 | 类型 | 描述 |
keepAlive | boolean | 离会后采集设备的状态,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
stopAudioCapture
关闭音频采集。
此接口可以控制关闭音频采集,与startAudioCapture对应。
- (void)stopAudioCapture;
返回说明
0表示方法调用成功,其他表示方法调用失败。
enableSpeakerphone
设置音频输出为听筒或扬声器(仅iOS)。
- (int)enableSpeakerphone:(BOOL)enable;
参数说明
名称 | 类型 | 描述 |
enable | BOOL |
|
返回说明
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 | 说话人检测开关,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
enableEarBack
启用耳返(仅iOS)。
- (int)enableEarBack:(BOOL)enable;
参数说明
名称 | 类型 | 描述 |
enable | BOOL |
|
返回说明
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::view为nil,则停止渲染。
如果在播放过程中需要重新设置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 | 摄像头采集偏好,默认值:
|
返回说明
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之前和之后切换窗口。如果canvas为nil或者view为nil,则停止渲染相应的流。
如果在播放过程中需要重新设置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 | 预定义的编码属性,默认值:
|
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 | 用户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 | 消息类型。取值:
|
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 | 状态。 |
onNetworkQualityChanged
网络质量变化回调。
- (void)onNetworkQualityChanged:(NSString *_Nonnull)uid
upNetworkQuality:(AliRtcNetworkQuality)upQuality
downNetworkQuality:(AliRtcNetworkQuality)downQuality;
参数说明
参数 | 类型 | 描述 |
参数 | 类型 | 描述 |
uid | NSString* | 用户ID,为空时表示本地用户上下行网络状态。 |
upQuality | 上行网络状态。 | |
downQuality | 下行网络状态。 |
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 | 日志文件保存绝对路径。
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
setLogLevel
设置日志等级。
- (void)setLogLevel:(AliRtcLogLevel)logLevel;
参数说明
名称 | 类型 | 描述 |
logLevel | AliRtcLogLevel | Log级别,默认值为AliRtcLogLevelInfo。 |
setAudioSessionOperationRestriction
设置SDK对AVAudioSession的控制权限。
- (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