接口类型 | API | 描述 |
房间相关接口 | createRoom | 创建视频通话房间。 |
joinRoom | 加入视频通话房间。 |
leaveRoom | 离开视频通话房间。 |
邀请应答接口 | inviteWith | 通知对方加入房间。 |
replyWith | 应答操作回复邀请动作。 |
发布订阅接口 | publish | 发布流。 |
unpublish | 取消发布流。 |
subscribe | 订阅流。 |
unsubscribe | 取消订阅流。 |
摄像头接口 | startCameraPreviewUsingBackCamera | 开启相机。 |
stopCameraPreview | 停止相机。 |
switchCamera | 切换相机摄像头。 |
静音接口 | muteMicrophone | 麦克风静音。 |
muteRemoteAudio | 静音单个远端音频。 |
muteAllRemoteAudios | 静音所有远端音频。 |
muteRemoteVideo | 静音单个远端视频。 |
muteAllRemoteVideos | 静音所有远端视频。 |
截图接口 | snapshotForFeed | 截图。 |
扬声器/听筒接口 | currentAuidoPlayMode | 当前声音播放模式。 |
switchAudioPlayModeTo | 切换听筒扬声器模式。 |
IM 接口 | sendMessage | 发送 IM 到单个用户。 |
sendMessage | 发送 IM 到多个用户。 |
自定义推流接口 | createCustomVideoCapturer | 创建自定义推流类。 |
destroyCustomVideoCapturer | 销毁自定义推流类。 |
屏幕共享接口 | isScreenCaptureSupported | 是否支持屏幕捕捉。 |
isScreenCaptureStarted | 屏幕捕捉是否已启动。 |
startScreenCaptureWithParams | 开始屏幕捕捉。 |
stopScreenCapture | 结束屏幕捕捉。 |
createRoom
- 声明:
(void)createRoom:(ARTVCCreateRoomParams*) params
- 说明:创建视频通话房间。
- 参数:
参数 |
类型 |
说明 |
是否可为空 |
uid |
NSString* |
用户 uid |
NO |
bizName |
NSString* |
主业务名称 |
NO |
signature |
NSString* |
签名 |
NO |
extraInfo |
NSDictionary* |
扩展参数 |
YES |
joinRoom
- 声明:
(void)joinRoom:(ARTVCJoinRoomParams*) params;
- 说明:加入视频通话房间。
- 参数:
参数 |
类型 |
说明 |
是否可为空 |
uid |
NSString* |
用户 uid |
NO |
bizName |
NSString* |
主业务名称 |
NO |
signature |
NSString* |
签名 |
NO |
roomId |
NSString* |
房间 ID |
NO |
rtoken |
NSString* |
房间 token |
NO |
extraInfo |
NSDictionary* |
扩展参数 |
YES |
leaveRoom
- 声明:
(void)leaveRoom;
- 说明:离开视频通话房间。
- 参数:无。
- 返回值:无。
inviteWith
- 声明:
(void)inviteWith:(ARTVCInviteParams*)params complete:(ARTVCInviteCallback)complete;
- 说明:创建视频通话房间后,可调用该接口通知对方来加入房间。C2B 下可邀请 web 坐席。该接口暂不支持在 C2C 模式下调用。
参数:
ARTVCInviteParams
参数 | 类型 | 说明 | 是否可为空 | 默认值 |
inviteId | NSString | 邀请 ID,标志该次邀请。 | NO | 无 |
inviteeUid | NSString | 对端 uid。 | NO | 无 |
inviteType | ARTVCInviteType | 目前只支持 ARTVCInviteTypeWebsocket,被邀请方必须是 web 端。 | NO | 无 |
audioEnable | BOOL | 邀请对端开启音频。 | NO | YES |
videoEnable | BOOL | 邀请对端开启视频。 | NO | YES |
timeout | int | 超时设置。 | NO | 60 |
extraInfo | NSDictionary* | 扩展参数。 | YES | 无 |
ARTVCInviteCallback
//error is nil means success,code see ARTVCInviteError
typedef void (^ARTVCInviteCallback)(NSError*_Nullable error);
- 错误码定义
typedef NS_ENUM(int,ARTVCInviteError){
ARTVCInviteErrorBabParameters = 1,
ARTVCInviteErrorNOtHaveValidRoom = 2,
ARTVCInviteErrorPreviousInviteUnderProcessing = 3,
ARTVCInviteErrorRequestFailed = 4,
ARTVCInviteErrorTimeout = 5,
ARTVCInviteErrorCanceledWhenLeaveRoom = 6,
};
返回值:无。
replyWith
- 声明:
-(void)replyWith:(ARTVCReplyParams*)params complete:(ARTVCReplyCallback)complete;
- 说明:应答接口。
参数:
ARTVCReplyParams
参数 | 类型 | 说明 | 是否可为空 | 默认值 |
uid | NSString | 用户 uid | NO | 无 |
inviterUid | NSString | 邀请者 uid | NO | 无 |
bizName | NSString | 主业务名称 | NO | 无 |
roomId | NSString | 房间 ID | NO | 无 |
replyType | ARTVCReplyType | 应答类型 | NO | 无 |
audioEnable | BOOL | 开启音频 | NO | YES |
videoEnable | BOOL | 开启视频 | NO | YES |
timeout | int | 超时设置 | NO | 60 |
extraInfo | NSDictionary* | 扩展参数 | YES | 无 |
ARTVCReplyCallback
//error is nil means success,code see ARTVCReplyError
typedef void (^ARTVCReplyCallback)(NSError*_Nullable error);
- 错误码定义
typedef NS_ENUM(int,ARTVCReplyError){
ARTVCReplyErrorBabParameters = 1,
ARTVCReplyErrorPreviousReplyUnderProcessing = 3,
ARTVCReplyErrorRequestFailed = 4,
ARTVCReplyErrorTimeout = 5,
ARTVCReplyErrorCanceledWhenLeaveRoom = 6,
};
返回值:无。
publish
- 声明:
(void)publish:(ARTVCPublishConfig*)config
- 说明:发布流。
- 参数:
参数 |
类型 |
说明 |
默认值 |
videoEnable |
BOOL |
是否推视频。 |
YES |
audioEnable |
BOOL |
是否推音频。 |
YES |
videoSource |
ARTVCVideoSourceType |
视频源类型。 |
ARTVCVideoSourceType_Camera |
videoProfile |
ARTVCVideoProfileType |
视频编码分辨率和 FPS。 |
ARTVCVideoProfileType640x36015Fps |
videoCustomWidth |
int |
自定义视频宽,videoProfile 为 ARTVCVideoProfileType_Custom 时设置有效,不建议使用。 |
无 |
videoCustomHeight |
int |
自定义视频高,videoProfile 为 ARTVCVideoProfileType_Custom 时设置有效,不建议使用。 |
无 |
videoCustomFps |
int |
自定义 FPS,videoProfile 为 ARTVCVideoProfileType_Custom 时设置有效,不建议使用。 |
无 |
videoCustomBitrate |
int |
自定义码率,videoProfile 为 ARTVCVideoProfileType_Custom 时设置有效,不建议使用。 |
无 |
timeout |
int |
超时设置 |
60 |
unpublish
- 声明:
-(void)unpublish:(ARTVCUnpublishConfig*)config
- 说明:取消发布流。
- 参数:
ARTVCUnpublishConfig
参数 |
类型 |
描述 |
feed |
ARTVCFeed* |
要取消发布的 Feed。 |
参数 |
类型 |
描述 |
是否可为空 |
uid |
NSString* |
Feed 归属的用户 uid。 |
NO |
userType |
ARTVCParticipantType |
用户类型,默认是普通用户,ARTVCParticipantTypeVirtualVod 表示点播服务对应的虚拟用户。 |
NO |
feedId |
NSString* |
feed 的标识 ID。 |
NO |
tag |
NSString* |
feed 的标签类型。 |
YES |
subscribe
- 声明:
(void)subscribe:(ARTVCSubscribeConfig*)config
- 说明:订阅流。
- 参数:
ARTVCSubscribeConfig
参数 |
类型 |
描述 |
是否可为空 |
feed |
ARTVCFeed* |
要订阅的 feed。 |
NO |
options |
ARTVCSubscribeOptions* |
订阅参数。 |
NO |
参数 |
类型 |
描述 |
是否可为空 |
receiveAudio |
BOOL |
是否订阅音频流。 |
YES |
receiveVideo |
BOOL |
是否订阅视频流。 |
YES |
timeout |
int |
超时设置。 |
60 |
unsubscribe
- 声明:
(void)unsubscribe:(ARTVCUnsubscribeConfig*)config
- 说明:取消订阅流。
- 参数:
ARTVCUnsubscribeConfig
参数 |
类型 |
描述 |
feed |
ARTVCFeed* |
要取消订阅的 feed。 |
startCameraPreviewUsingBackCamera
- 声明:
(void)startCameraPreviewUsingBackCamera:(BOOL)usingBackCamera
- 说明:开启相机。
- 参数:
usingBackCamera
为 YES 时使用后置摄像头,否则使用前置摄像头。 - 返回值:无。
stopCameraPreview
- 声明:
(void)stopCameraPreview
- 说明:停止使用相机。
- 参数:无。
- 返回值:无。
switchCamera
- 声明:
(void)switchCamera
- 说明:切换相机摄像头。
- 参数:无。
- 返回值:无。
muteMicrophone
- 声明:
(void)muteMicrophone:(BOOL)muted
- 说明:麦克风静音。
- 参数:muted 为 YES 时静音麦克风,否则取消静音麦克风。
- 返回值:无。
muteRemoteAudio
- 声明:
(void)muteRemoteAudio:(BOOL)muted forFeed:(ARTVCFeed*)feed
- 说明:对单个远端音频静音。
- 参数:静音传入 feed 中的音频流。muted 为 YES 时静音,否则取消静音。feed 不能为空。
- 返回值:无。
muteAllRemoteAudios
- 声明:
(void)muteAllRemoteAudios:(BOOL)muted
- 说明:静音所有远端音频。
- 参数:静音所有订阅 feed 中的音频流,muted 为 YES 时静音,否则取消静音。
- 返回值:无。
muteRemoteVideo
- 声明:
(void)muteRemoteVideo:(BOOL)muted forFeed:(ARTVCFeed*)feed
- 说明:静音单个远端视频。
- 参数:静音传入 feed 中的视频流。Muted 为 YES 时做静音处理,否则取消。Feed 不能为空。
- 返回值:无。
muteAllRemoteVideos
- 声明:
(void)muteAllRemoteVideos:(BOOL)muted
- 说明:静音所有远端视频。
- 参数:静音所有订阅 feed 中的视频流。muted 为 YES 时做静音处理,否则取消。
- 返回值:无。
snapshotForFeed
- 声明:
(void)snapshotForFeed:(ARTVCFeed*)feed complete:(void(^)(UIImage* image))complete
- 说明:截图接口。截取视频帧返回
.jpg
格式的 UIImage,支持截取本地和对端任意 feed 的视频帧数据信息。 - 参数:
Feed
:见 unpublish 中的 ARTVCFeed。complete
:截图图片回调。若为空表示截图失败。
- 返回值:无。
currentAuidoPlayMode
- 声明:
(ARTVCAudioPlayMode)currentAuidoPlayMode
- 说明:当前声音的播放模式。
- 参数:无。
- 返回值:无。
switchAudioPlayModeTo
- 声明:
(void)switchAudioPlayModeTo:(ARTVCAudioPlayMode)audioPlayMode complete:(void (^_Nullable)(NSError*_Nullable error))callback
- 说明:切换听筒扬声器模式。耳机模式下不作处理。
- 参数:
ARTVCAudioPlayMode
/**
* 声音播放模式
*/
typedef NS_ENUM(NSUInteger,ARTVCAudioPlayMode) {
ARTVCAudioPlayModeInit = 0,//初始化状态
ARTVCAudioPlayModeReceiver,//听筒
ARTVCAudioPlayModeSpeaker,//扬声器
ARTVCAudioPlayModeHeadphone,//耳机
ARTVCAudioPlayModeBluetooth//蓝牙设备
};
- callback 回调解释:当 error 为空表示切换成功,否则切换失败。
- 返回值:无。
sendMessage
- 声明:
(void)sendMessage:(ARTVCIMMessage*)message toPariticipant:(NSString*)pariticipant complete:(ARTVCIMCallback)complete
- 说明:发送 IM 到单个用户。
- 参数:
参数 |
类型 |
说明 |
是否可为空 |
message |
ARTVCIMMessage* |
IM 消息 |
NO |
pariticipant |
NSString* |
用户 uid |
NO |
complete |
ARTVCIMCallback |
消息发送结果回调 |
YES |
参数 |
类型 |
说明 |
是否可为空 |
msg |
NSString* |
消息内容 |
NO |
msgId |
NSUInteger |
消息 ID |
YES |
timestamp |
NSTimeInterval |
消息时间戳 |
YES |
sendMessage
- 声明:
(void)sendMessage:(ARTVCIMMessage*)message toPariticipants:(NSArray<NSString*>*)pariticipants complete:(ARTVCIMCallback)complete
- 说明:发送 IM 到多个用户。
- 参数:
参数 |
类型 |
说明 |
是否可为空 |
message |
ARTVCIMMessage * |
IM 消息 |
NO |
pariticipants |
NSArray<NSString> |
用户 uid 数组 |
NO |
complete |
ARTVCIMCallback |
消息发送结果回调 |
YES |
createCustomVideoCapturer
- 声明:
-(ARTVCCustomVideoCapturer*)createCustomVideoCapturer:(ARTVCCreateCustomVideoCaputurerParams*)params;
- 说明:创建自定义推流类。
- 参数:
参数 |
类型 |
说明 |
是否可为空 |
params |
ARTVCCreateCustomVideoCaputurerParams* |
创建自定义推流类参数 |
NO |
ARTVCCreateCustomVideoCaputurerParams
定义:
参数 |
类型 |
说明 |
是否可为空 |
provideRenderView |
BOOL |
是否需要提供渲染 view |
NO |
destroyCustomVideoCapturer
- 声明:
-(void)destroyCustomVideoCapturer;
- 说明:销毁自定义推流类。
- 参数:无。
- 返回值:无。
isScreenCaptureSupported
- 声明:
-(BOOL)isScreenCaptureSupported;
- 说明:是否支持屏幕捕捉,需注意 iOS11 以及以上才支持。
- 参数:无。
- 返回值:无。
isScreenCaptureStarted
- 声明:
-(BOOL)isScreenCaptureStarted;
- 说明:屏幕捕捉是否已启动。
- 参数:无。
- 返回值:无。
startScreenCaptureWithParams
- 声明:
-(void)startScreenCaptureWithParams:(ARTVCCreateScreenCaputurerParams*)params complete:(ARTVCErrorCallback)callback;
- 说明:开始屏幕捕捉。
- 参数:
参数 |
类型 |
说明 |
是否可为空 |
params |
ARTVCCreateCustomVideoCaputurerParams* |
开始屏幕捕捉参数 |
NO |
callback |
ARTVCErrorCallback |
开始屏幕捕捉结果回调 |
YES |
ARTVCCreateScreenCaputurerParams
定义:
参数 |
类型 |
说明 |
是否可为空 |
provideRenderView |
BOOL |
是否需要提供渲染 view |
NO |
stopScreenCapture
- 声明:
-(void)stopScreenCapture;
- 说明:结束屏幕捕捉。
- 参数:无。
- 返回值:无。
在文档使用中是否遇到以下问题
更多建议
匿名提交