全部产品

公共函数

更新时间:2020-11-27 16:58:14

接口类型 API 描述
房间相关接口 createRoom 创建视频通话房间。
joinRoom 加入视频通话房间。
leaveRoom 离开视频通话房间。
邀请应答接口 inviteWith 通知对方加入房间。
replyWith 应答操作回复邀请动作。
发布订阅接口 publish 发布流。
unpublish 取消发布流。
subscribe 订阅流。
unsubscribe 取消订阅流。
摄像头接口 startCameraPreviewUsingBackCamera 开启相机。
stopCameraPreview 停止相机。
switchCamera 切换相机摄像头。
mute接口 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
      1. //error is nil means success,code see ARTVCInviteError
      2. typedef void (^ARTVCInviteCallback)(NSError*_Nullable error);
    • 错误码定义
      1. typedef NS_ENUM(int,ARTVCInviteError){
      2. ARTVCInviteErrorBabParameters = 1,
      3. ARTVCInviteErrorNOtHaveValidRoom = 2,
      4. ARTVCInviteErrorPreviousInviteUnderProcessing = 3,
      5. ARTVCInviteErrorRequestFailed = 4,
      6. ARTVCInviteErrorTimeout = 5,
      7. ARTVCInviteErrorCanceledWhenLeaveRoom = 6,
      8. };
  • 返回值:无。

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
      1. //error is nil means success,code see ARTVCReplyError
      2. typedef void (^ARTVCReplyCallback)(NSError*_Nullable error);
    • 错误码定义
      1. typedef NS_ENUM(int,ARTVCReplyError){
      2. ARTVCReplyErrorBabParameters = 1,
      3. ARTVCReplyErrorPreviousReplyUnderProcessing = 3,
      4. ARTVCReplyErrorRequestFailed = 4,
      5. ARTVCReplyErrorTimeout = 5,
      6. ARTVCReplyErrorCanceledWhenLeaveRoom = 6,
      7. };
  • 返回值:无。

publish

  • 声明(void)publish:(ARTVCPublishConfig*)config
  • 说明:发布流。
  • 参数
    • ARTVCPublishConfig
参数 类型 说明 默认值
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。
  • ARTVCFeed
参数 类型 描述 是否可为空
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
  • ARTVCSubscribeOptions
参数 类型 描述 是否可为空
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
  • 说明:mute 所有远端音频。
  • 参数:静音所有订阅 feed 中的音频流,muted 为 YES 时静音,否则取消静音。
  • 返回值:无。

muteRemoteVideo

  • 声明(void)muteRemoteVideo:(BOOL)muted forFeed:(ARTVCFeed*)feed
  • 说明:mute 单个远端视频。
  • 参数:mute 传入 feed 中的视频流。Muted 为 YES 时做 mute 处理,否则取消。Feed 不能为空。
  • 返回值:无。

muteAllRemoteVideos

  • 声明(void)muteAllRemoteVideos:(BOOL)muted
  • 说明:mute 所有远端视频。
  • 参数:mute 所有订阅 feed 中的视频流。muted 为 YES 时做 mute 处理,否则取消。
  • 返回值:无。

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
      1. /**
      2. * 声音播放模式
      3. */
      4. typedef NS_ENUM(NSUInteger,ARTVCAudioPlayMode) {
      5. ARTVCAudioPlayModeInit = 0,//初始化状态
      6. ARTVCAudioPlayModeReceiver,//听筒
      7. ARTVCAudioPlayModeSpeaker,//扬声器
      8. ARTVCAudioPlayModeHeadphone,//耳机
      9. ARTVCAudioPlayModeBluetooth//蓝牙设备
      10. };
    • 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
  • ARTVCIMMessage
参数 类型 说明 是否可为空
msg NSString* 消息内容 NO
msgId NSUInteger 消息 ID YES
timestamp NSTimeInterval 消息时间戳 YES
  • ARTVCIMCallback
    1. //error is nil means success
    2. typedef void (^ARTVCIMCallback)(NSError* error);
  • 返回值:无。

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;
  • 说明:结束屏幕捕捉。
  • 参数:无。
  • 返回值:无。