iOS端API参考

本文为您提供音视频通话场景iOS端相关API的详细说明。

API概览

AUIRoomEngine

AUIRoomEngine API是音视频通话组件的无UI接口,如果现有的交互并不满足您的需求,您可以使用这套API根据您的业务需求自定义封装。

API

描述

init

构造函数,创建RoomEngine实例与初始化

destroy

释放RoomEngine内部相关对象

addObserver

添加房间事件回调

removeObserver

移除房间事件回调

roomUser

获取当前房间用户

roomConfig

获取房间配置

renderViewLayout

设置或获取视频渲染窗口布局容器

startPreview

开始预览

stopPreview

停止预览

create

创建房间

join

进入房间

leave

离开房间

isJoin

获取是否进入房间

requestJoin

邀请其他用户进入房间

cancelRequestJoin

取消邀请其他用户进入房间

responseJoin

响应邀请进入房间

startPublish

开始推流

stopPublish

停止推流

isPublishing

获取是否在推流中

requestPublish

邀请其他用户推流

cancelRequestPublish

取消邀请其他用户推流

responsePublish

响应邀请推流

switchCamera

开启/关闭摄像头

switchMicrophone

开启/关闭麦克风

switchPreviewMirror

开启/关闭预览镜像模式

getIsPreviewMirror

获取当前预览是否镜像模式

setCameraType

切换摄像头类型(前置/后置)

getCameraType

获取当前摄像头类型(前置/后置)

switchAudioOutput

切换音频输出类型(扬声器/听筒)

getAudioOutputType

获取当前音频输出类型(扬声器/听筒)

sendCustomMessage

给用户发送自定义消息

getRTCEngine

获取底层RTC引擎实例

静态成员或方法

静态成员或方法是指AUIRoomEngine下的静态成员或方法。

API

描述

registerSDK

注册SDK

currrentUser

获取或设置当前要登录的用户

login

登录

logout

登出

isLogin

是否登录

getMessageService

获取互动消息服务实例

AUIRoomEngineDelegate

AUIRoomEngineDelegate对应的是回调事件类房间引擎回调,您可以通过此回调,来监听自己感兴趣的回调事件。

API

描述

onJoined

加入房间的回调

onLeaved

离开房间的回调

onReceivedRequestJoin

收到邀请加入房间的回调

onReceivedCancelRequestJoin

被取消加入房间的邀请的回调

onReceivedResponseJoin

收到被邀请者加入房间的响应回调

onStartedPublish

收到用户开始推流的回调

onStopedPublish

收到用户停止推流的回调

onReceivedRequestPublish

收到邀请推流的回调

onReceivedCancelRequestPublish

被取消推流邀请的回调

onReceivedResponsePublish

收到被邀请者推流的响应回调

onReceivedMicrophoneStateChanged

收到请求切换麦克风状态的回调

onReceivedCameraStateChanged

收到请求切换摄像头状态的回调

onMicrophoneStateChanged

收到用户音频流是否静音的状态回调

onCameraStateChanged

收到用户视频流是否推黑屏帧的回调

onReceivedCustomMessage

收到自定义消息的回调

onError

错误回调

AUIRoomRenderView

视频渲染窗口。

API

描述

style

设置或获取视图样式(正常视图/大视图/小视图)

user

获取当前推拉流用户

displayView

获取当前渲染View

renderMode

当前渲染View的渲染模式(自动/拉伸/填充/裁剪)

AUIRoomRenderViewDefaultLayout

视频渲染窗口布局容器。

API

描述

dimensions

获取渲染窗口的分辨率

getRenderViewList

获取视频渲染窗口列表

createRenderView

创建一个视频渲染窗口

createRenderViewCallback

通过回调方式创建一个视频渲染窗口

willInsertRenderView

即将往布局容器插入一个渲染窗口

insertRenderView

往布局容器插入一个渲染窗口

removeRenderView

从布局容器移除一个渲染窗口

willLayoutRenderViewList

即将布局容器里的视频渲染窗口

layoutRenderViewList

布局容器里的视频渲染窗口

smallStyleRenderViewDefaultFrame

设置为小窗(小视图)时渲染窗口的大小

smallStyleRenderViewSafeEdge

设置为小窗(小视图)时渲染窗口在布局容器中的边距

AUIRoomEngine

AUIRoomEngine API是音视频通话组件的无UI接口,如果现有的交互并不满足您的需求,您可以使用这套API根据您的业务需求自定义封装。

init:构造函数,创建RoomEngine实例与初始化
override public init()
destroy:释放RoomEngine内部相关对象
public func destroy()
addObserver:添加房间事件回调
public func addObserver(delegate: AUIRoomEngine.AUIRoomEngineDelegate)

参数

类型

含义

delegate

AUIRoomEngineDelegate

要添加的监听者

removeObserver:移除房间事件回调
public func removeObserver(delegate: AUIRoomEngine.AUIRoomEngineDelegate)

参数

类型

含义

delegate

AUIRoomEngineDelegate

需要移除的监听者

roomUser:获取当前房间用户
lazy public private(set) var roomUser: AUIRoomEngine.AUIRoomUser?
roomConfig:获取房间配置
public private(set) var roomConfig: AUIRoomEngine.AUIRoomEngineConfig? { get }
renderViewLayout:设置或获取视频渲染窗口布局容器
public var renderViewLayout: AUIRoomEngine.AUIRoomRenderViewLayoutProtocol?
startPreview:开始预览
public func startPreview(completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

completed

AUIRoomEngineCompleted

操作完成回调

stopPreview:停止预览
public func stopPreview(completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

completed

AUIRoomEngineCompleted

操作完成回调

create:创建房间
public func create(completed: @escaping (_ roomId: String?, _ error: NSError?) -> Void)

参数

类型

含义

completed

(_ roomId: String?, _ error: NSError?) -> Void

操作完成回调,成功则返回roomId,失败则返回error

join:进入房间
public func join(config: AUIRoomEngine.AUIRoomEngineConfig, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

config

AUIRoomEngineConfig

房间配置

completed

AUIRoomEngineCompleted

操作完成回调

leave:离开房间
public func leave(completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

completed

AUIRoomEngineCompleted

操作完成回调

isJoin:获取是否进入房间
public var isJoin: Bool { get }
requestJoin:邀请其他用户进入房间
public func requestJoin(roomId: String, userId: String, extra: [AnyHashable : Any]? = nil, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

roomId

String

房间ID

userId

String

需要邀请的用户ID

extra

[AnyHashable : Any]?

扩展数据

completed

AUIRoomEngineCompleted

操作完成回调

cancelRequestJoin:取消邀请其他用户进入房间
public func cancelRequestJoin(roomId: String, userId: String, extra: [AnyHashable : Any]? = nil, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

roomId

String

房间ID

userId

String

取消邀请的用户ID

extra

[AnyHashable : Any]?

扩展数据

completed

AUIRoomEngineCompleted

操作完成回调

responseJoin:响应邀请进入房间
public func responseJoin(roomId: String, userId: String, agree: Bool, extra: [AnyHashable : Any]? = nil, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

roomId

String

房间ID

userId

String

邀请我的用户ID

agree

Bool

是否同意

extra

[AnyHashable : Any]?

扩展数据

completed

AUIRoomEngineCompleted

操作完成回调

startPublish:开始推流
public func startPublish(completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

completed

AUIRoomEngineCompleted

操作完成回调

stopPublish:停止推流
public func stopPublish(completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

completed

AUIRoomEngineCompleted

操作完成回调

isPublishing:获取是否在推流中
public private(set) var isPublishing: Bool { get }
requestPublish:邀请其他用户推流
public func requestPublish(userId: String, extra: [AnyHashable : Any]? = nil, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

userId

String

邀请的用户ID

extra

[AnyHashable : Any]?

扩展数据

completed

AUIRoomEngineCompleted

操作完成回调

cancelRequestPublish:取消邀请其他用户推流
public func cancelRequestPublish(userId: String, extra: [AnyHashable : Any]? = nil, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

userId

String

取消邀请的用户ID

extra

[AnyHashable : Any]?

扩展数据

completed

AUIRoomEngineCompleted

操作完成回调

responsePublish:响应邀请推流
public func responsePublish(userId: String, agree: Bool, extra: [AnyHashable : Any]? = nil, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

userId

String

邀请我的用户ID

agree

Bool

是否同意

extra

[AnyHashable : Any]?

扩展数据

completed

AUIRoomEngineCompleted

操作完成回调

switchCamera:开启/关闭摄像头
public func switchCamera(off: Bool, userId: String, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

off

Bool

开启/关闭

userId

String

被开启/关闭的用户ID

completed

AUIRoomEngineCompleted

操作完成回调

switchMicrophone:开启/关闭麦克风
public func switchMicrophone(off: Bool, userId: String, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

off

Bool

开启/关闭

userId

String

被开启/关闭的用户ID

completed

AUIRoomEngineCompleted

操作完成回调

switchPreviewMirror:开启/关闭预览镜像模式
public func switchPreviewMirror(on: Bool)

参数

类型

含义

on

Bool

开启/关闭

getIsPreviewMirror:获取当前预览是否镜像模式
public func getIsPreviewMirror() -> Bool
setCameraType:切换摄像头类型(前置/后置)
public func setCameraType(type: AUIRoomEngine.AUIRoomEngineCameraType)

参数

类型

含义

type

AUIRoomEngineCameraType

摄像头类型(前置/后置)

getCameraType:获取当前摄像头类型(前置/后置)
public func getCameraType() -> AUIRoomEngine.AUIRoomEngineCameraType
switchAudioOutput:切换音频输出类型(扬声器/听筒)
public func switchAudioOutput(type: AUIRoomEngine.AUIRoomEngineAudioOutputType)

参数

类型

含义

type

AUIRoomEngineAudioOutputType

音频输出类型(扬声器/听筒)

getAudioOutputType:获取当前音频输出类型(扬声器/听筒)
public func getAudioOutputType() -> AUIRoomEngine.AUIRoomEngineAudioOutputType
sendCustomMessage:给用户发送自定义消息
public func sendCustomMessage(message: [AnyHashable : Any], roomId: String?, userId: String? = nil, skipAudit: Bool = true, completed: AUIRoomEngine.AUIRoomEngineCompleted? = nil)

参数

类型

含义

message

[AnyHashable : Any]

消息体

roomId

String?

房间ID

userId

String?

接收消息的用户ID

skipAudit

Bool

是否跳过审核

completed

AUIRoomEngineCompleted

操作完成回调

getRTCEngine:获取底层RTC引擎实例
public func getRTCEngine() -> AnyObject?
registerSDK:注册SDK
public static func registerSDK(scene: String)

参数

类型

含义

scene

String

使用场景标识,用于跟踪

currrentUser:获取或设置当前要登录的用户
public static var currrentUser: AUIRoomEngine.AUIRoomUser?
login:登录
public static func login(token: String, completed: AUIRoomEngine.AUIRoomEngineCompleted?)

参数详情:

参数

类型

含义

token

String

登录鉴权Token

completed

AUIRoomEngineCompleted

操作完成回调

logout:登出
public static func logout(completed: AUIRoomEngine.AUIRoomEngineCompleted?)

参数

类型

含义

completed

AUIRoomEngineCompleted

操作完成回调

isLogin:是否登录
public static var isLogin: Bool { get }
getMessageService:获取互动消息服务实例
public static func getMessageService() -> AUIMessageServiceProtocol

AUIRoomEngineDelegate

AUIRoomEngineDelegate对应的是回调事件类房间引擎回调,您可以通过此回调,来监听自己感兴趣的回调事件。

onJoined:加入房间的回调
@objc optional func onJoined(user: AUIRoomEngine.AUIRoomUser)

参数

类型

含义

user

AUIRoomUser

进入房间的用户

onLeaved:离开房间的回调
@objc optional func onLeaved(user: AUIRoomEngine.AUIRoomUser)

参数

类型

含义

user

AUIRoomUser

离开房间的用户

onReceivedRequestJoin:收到邀请加入房间的回调
@objc optional func onReceivedRequestJoin(user: AUIRoomEngine.AUIRoomUser, roomId: String, extra: [AnyHashable : Any]?)

参数

类型

含义

user

AUIRoomUser

邀请的用户

roomId

String

房间ID

extra

[AnyHashable : Any]?

扩展数据

onReceivedCancelRequestJoin:被取消加入房间的邀请的回调
@objc optional func onReceivedCancelRequestJoin(user: AUIRoomEngine.AUIRoomUser, roomId: String, extra: [AnyHashable : Any]?)

参数

类型

含义

user

AUIRoomUser

取消邀请的用户

roomId

String

房间ID

extra

[AnyHashable : Any]?

扩展数据

onReceivedResponseJoin:收到被邀请者加入房间的响应回调
@objc optional func onReceivedResponseJoin(user: AUIRoomEngine.AUIRoomUser, roomId: String, agree: Bool, extra: [AnyHashable : Any]?)

参数

类型

含义

user

AUIRoomUser

响应邀请的用户

roomId

String

房间ID

agree

Bool

是否同意

extra

[AnyHashable : Any]?

扩展数据

onStartedPublish:收到用户开始推流的回调
@objc optional func onStartedPublish(user: AUIRoomEngine.AUIRoomUser)

参数

类型

含义

user

AUIRoomUser

开始推流的用户

onStopedPublish:收到用户停止推流的回调
@objc optional func onStopedPublish(user: AUIRoomEngine.AUIRoomUser)

参数

类型

含义

user

AUIRoomUser

停止推流的用户

onReceivedRequestPublish:收到邀请推流的回调
@objc optional func onReceivedRequestPublish(user: AUIRoomEngine.AUIRoomUser, extra: [AnyHashable : Any]?, completed: @escaping (_ agree: Bool, _ extra: [AnyHashable : Any]?) -> Void)

参数

类型

含义

user

AUIRoomUser

邀请的用户

extra

[AnyHashable : Any]?

扩展数据

completed

(_ agree: Bool, _ extra: [AnyHashable : Any]?) -> Void

响应邀请(是否同意等)

onReceivedCancelRequestPublish:被取消推流邀请的回调
@objc optional func onReceivedCancelRequestPublish(user: AUIRoomEngine.AUIRoomUser, extra: [AnyHashable : Any]?)

参数

类型

含义

user

AUIRoomUser

取消邀请的用户

extra

[AnyHashable : Any]?

扩展数据

onReceivedResponsePublish:收到被邀请者推流的响应回调
@objc optional func onReceivedResponsePublish(user: AUIRoomEngine.AUIRoomUser, agree: Bool, extra: [AnyHashable : Any]?)

参数

类型

含义

user

AUIRoomUser

响应的用户

agree

Bool

是否统一

extra

[AnyHashable : Any]?

扩展数据

onReceivedMicrophoneStateChanged:收到请求切换麦克风状态的回调
@objc optional func onReceivedMicrophoneStateChanged(user: AUIRoomEngine.AUIRoomUser, off: Bool)

参数

类型

含义

user

AUIRoomUser

发起邀请的用户

off

Bool

开启/关闭

onReceivedCameraStateChanged:收到请求切换摄像头状态的回调
@objc optional func onReceivedCameraStateChanged(user: AUIRoomEngine.AUIRoomUser, off: Bool)

参数

类型

含义

user

AUIRoomUser

发起邀请的用户

off

Bool

开启/关闭

onMicrophoneStateChanged:收到用户音频流是否静音的状态回调
@objc optional func onMicrophoneStateChanged(user: AUIRoomEngine.AUIRoomUser, off: Bool)

参数

类型

含义

user

AUIRoomUser

发起状态改变的用户

off

Bool

开启/关闭

onCameraStateChanged:收到用户视频流是否推黑屏帧的回调
@objc optional func onCameraStateChanged(user: AUIRoomEngine.AUIRoomUser, off: Bool)

参数

类型

含义

user

AUIRoomUser

发起状态改变的用户

off

Bool

开启/关闭

onReceivedCustomMessage:收到自定义消息的回调
@objc optional func onReceivedCustomMessage(user: AUIRoomEngine.AUIRoomUser, message: [AnyHashable : Any])

参数

类型

含义

user

AUIRoomUser

发送消息的用户

message

[AnyHashable : Any]

消息体

onError:错误回调
@objc optional func onError(_ error: Error)

参数

类型

含义

error

Error

错误信息

AUIRoomRenderView

视频渲染窗口。

style:设置或获取视图样式(正常视图/大视图/小视图)
open var style: AUIRoomEngine.AUIRoomRenderView.Style
user:获取当前推拉流用户
public let user: AUIRoomEngine.AUIRoomUser
displayView:获取当前渲染View
public let displayView: UIView
renderMode:当前渲染View的渲染模式(自动/拉伸/填充/裁剪)
public var renderMode: AUIRoomEngine.AUIRoomRenderView.RenderMode

AUIRoomRenderViewDefaultLayout

视频渲染窗口布局容器。

dimensions:获取渲染窗口的分辨率
public private(set) var dimensions: CGSize { get }
getRenderViewList:获取视频渲染窗口列表
public func getRenderViewList() -> [AUIRoomEngine.AUIRoomRenderView]
createRenderView:创建一个视频渲染窗口
open func createRenderView(user: AUIRoomEngine.AUIRoomUser) -> AUIRoomEngine.AUIRoomRenderView?

参数

类型

含义

user

AUIRoomUser

需要创建视频渲染窗口的用户

createRenderViewCallback:通过回调方式创建一个视频渲染窗口
public var createRenderViewCallback: ((_ user: AUIRoomEngine.AUIRoomUser, _ dimensions: CGSize?) -> AUIRoomEngine.AUIRoomRenderView?)?

参数

类型

含义

user

AUIRoomUser

需要创建视频渲染窗口的用户

dimensions

CGSize?

分辨率

willInsertRenderView:即将往布局容器插入一个渲染窗口
open func willInsertRenderView(renderView: AUIRoomEngine.AUIRoomRenderView) -> Int

参数

类型

含义

renderView

AUIRoomRenderView

视频渲染窗口

insertRenderView:往布局容器插入一个渲染窗口
open func insertRenderView(renderView: AUIRoomEngine.AUIRoomRenderView)

参数

类型

含义

renderView

AUIRoomRenderView

视频渲染窗口

removeRenderView:从布局容器移除一个渲染窗口
open func removeRenderView(renderView: AUIRoomEngine.AUIRoomRenderView)

参数

类型

含义

renderView

AUIRoomRenderView

需要移除的视频渲染窗口

willLayoutRenderViewList:即将布局容器里的视频渲染窗口
open func willLayoutRenderViewList()
layoutRenderViewList:布局容器里的视频渲染窗
open func layoutRenderViewList()
smallStyleRenderViewDefaultFrame:设置为小窗(小视图)时渲染窗口的大小
open var smallStyleRenderViewDefaultFrame: CGRect { get }
smallStyleRenderViewSafeEdge:设置为小窗(小视图)时渲染窗口在布局容器中的边距
open var smallStyleRenderViewSafeEdge: UIEdgeInsets { get }