iOS接口列表

本文介绍iOS端SDK提供的类和方法。

接口说明请参见1.0.0版接口说明文档

重点接口类简介

接口列表

AIRBRoomEngine

API

描述

@property(weak,nonatomic)id<AIRBRoomEngineDelegate> delegate;

@property(assign,nonatomic) AIRBLoggerLevel logLevel; //默认AIRBLoggerLevelError

+ (AIRBRoomEngine*)sharedInstance;

获取RoomEngine全局单例对象

globalInit

- ( 
void 
)globalInitOnceWithConfig:( 
nonnull 
AIRBRoomEngineConfig*)config;
全局初始化,只需要调用一次

login

- ( 
void 
)loginWithUserID:( 
nonnull 
NSString*)userID token:( 
nonnull 
AIRBRoomEngineAuthToken*)token;

用户登录

  • userID:需要登录的用户ID, 必须是阿拉伯数字、英文字母或二者的混合。

  • token:登录鉴权需要的token,具体见AIRBRoomEngineAuthToken。

收到AIRBRoomEngineEventEngineStarted后才可调用。

logout

- ( 
void 
)logout;

用户登出

getRoomChannel

- ( 
nullable  
AIRBRoomChannel*) getRoomChannelWithRoomID:( 
nonnull  
NSString*)roomID;
登录成功后,获取RoomChannel实例
roomID:直播间ID。

收到AIRBRoomEngineEventEngineStarted后才可调用。

getRoomList
- ( 
void 
) getRoomListWithPageNum:(int32_t)pageNum
pageSize:(int32_t)pageSize
onSuccess:( 
void  
(^)(AIRBRoomEngineRoomListResponse * _ 
Nonnull 
 response))onSuccess
onFailure:( 
void  
(^)(NSString* errorMessage))onFailure;

获取直播间列表

  • pageNum:页码,从1开始。

  • pageSize:当前页面直播间数量。

AIRBRoomEngineConfig

API

描述

@property(copy,nonatomic,nonnull) NSString *appID;

在阿里云互动直播控制台创建应用后生成

@property(copy,nonatomic,nonnull) NSString *appID;

在阿里云互动直播控制台创建应用后生成,使用对应端(iOS、Android、Web、Mac、Windows)的appKey即可;

@property(copy,nonatomic,nonnull) NSString *deviceID;

自行生成,能够区别不同设备即可,例如可使用iOS系统下[UIDevice uuid]

AIRBRoomEngineDelegate

API

描述

onAIRBRoomEngineEvent
- ( 
void 
) onRoomEngineEvent:(AIRBRoomEngineEvent)event info:( 
nullable 
 NSDictionary*)info object:(AIRBRoomEngine*)object;

接收AIRBRoomEngineEvent事件

onAIRBRoomEngineError
- ( 
void 
) onAIRBRoomEngineErrorWithCode:(AIRBErrorCode)code errorMessage:(NSString*)msg;

接收AIRBErrorCode

onLog
- ( 
void 
) onLog:(NSString*)message;

日志回调

AIRBRoomChannelProtocol

API

描述

@property(weak,nonatomic)id<AIRBRoomChannelDelegate> delegate;

@property(strong,nonatomic)id<AIRBChatProtocol> chat; //用来收发互动消息

@property(strong,nonatomic)id<AIRBLivePusherProtocol> livePusher; //用来直播推流

@property(strong,nonatomic)id<AIRBLivePlayerProtocol> livePlayer; //用来直播拉流观看;

@property(strong,nonatomic)id<AIRBRTCProtocol> rtc; //用来进行音视频实时通信;

@property(strong,nonatomic)id<AIRBWhiteBoardProtocol> whiteboard; //用来操控白板

enterRoom

- ( 
void 
) enterRoom;

进入直播间

leaveRoom

- ( 
void 
) leaveRoom;

退出直播间

updateRoomTitle

- ( 
void 
) updateRoomTitle:( 
nonnull 
NSString*)title
onSuccess:( 
void 
(^)( 
void 
))onSuccess
onFailure:( 
void 
(^)(NSString* errorMessage))onFailure;

更新直播间标题

  • title:要更新的直播间标题。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

updateRoomNotice

- ( 
void 
) updateRoomNotice:( 
nonnull 
NSString*)notice
onSuccess:( 
void 
(^)( 
void 
))onSuccess
onFailure:( 
void 
(^)(NSString* errorMessage))onFailure;

更新直播间公告

  • notice:要更新的直播间公告。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

getRoomUserList

- ( 
void 
) getRoomUserListWithPageNum:(int32_t)pageNum
pageSize:(int32_t)pageSize
onSuccess:( 
void 
(^)(AIRBRoomChannelUserListResponse * 
_Nonnull 
response))onSuccess
onFailure:( 
void 
(^)(NSString* errorMessage))onFailure;
获取直播间内人员列表
  • pageNum:分页index,从1开始。

  • pageSize:每页的数量。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

kickRoomUser

- ( 
void 
) kickRoomUserWithUserID:( 
nonnull 
NSString*)kickUserID
onSuccess:( 
void 
(^)( 
void 
))onSuccess
onFailure:( 
void 
(^)(NSString* errorMessage))onFailure;
从直播间内踢出某用户
  • kickUserID:被踢出的用户ID。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

AIRBChatProtocol

API

描述

getCurrentChatInfo

- ( 
void 
) getCurrentChatInfo
onSuccess:( 
void 
(^)(int32_t totalComment, int32_t totalLike))onSuccess
onFailure:( 
void 
(^)(NSString* errMessage))onFailure;
获取直播间内当前的互动信息,包括点赞总数和评论的总数
  • onSuccess:成功的回调。

  • onFailure:失败的回调。

sendMessage

- ( 
void 
) sendMessage:(NSString*)message
onSuccess:( 
void 
(^)( 
void 
))onSuccess
onFailure:( 
void 
(^)(NSString* errorMessage))onFailure;

发送消息

  • message:要发送的消息内容。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

sendLike
- ( 
void 
) sendLike;

点赞

queryComments

- ( 
void 
) queryCommentsWithSortedType:(AIRBRoomChatCommentsSortedType)sortedType
pageNum:( 
int 
)pageNum
pageSize:( 
int 
)pageSize
onSuccess:( 
void 
(^)(AIRBRoomChannelCommentsResponse* response))onSuccess
onFailure:( 
void 
(^)(NSString* errorMsg))onFailure;
分页查询直播间内消息
  • sortedType:查询评论按照时间的排序方式。

  • pageNum:查询的页码,从1开始。

  • pageSize:每页的大小。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

muteUser

- ( 
void 
) muteUserWithUserID:( 
nonnull 
NSString*)userID
muteTimeInSeconds:(int32_t)seconds
onSuccess:( 
void 
(^)( 
void 
))onSuccess
onFailure:( 
void 
(^)(NSString* errorMessage))onFailure;
对直播间内某用户禁言
  • userID:被禁用户的ID。

  • seconds :禁言的时间,单位为s。默认为0,表示永久禁言(直到取消禁言)。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

unmuteUser

- ( 
void 
) unmuteUserWithUserID:( 
nonnull 
NSString*)userID
onSuccess:( 
void 
(^)( 
void 
))onSuccess
onFailure:( 
void 
(^)(NSString* errorMessage))onFailure;

解除某个用户的禁言

  • userID:要取消禁言的用户ID。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

muteAll

- ( 
void 
) muteAll:( 
BOOL 
)mute
onSuccess:( 
void 
(^)( 
void 
))onSuccess
onFailure:( 
void 
(^)(NSString* errorMessage))onFailure;
对直播间内所有人禁言(不包括自己)或者取消全体禁言,只有直播间创建者才能调用生效
  • mute:禁言或取消禁言。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

AIRBRTCProtocol

API

描述

@property(strong,nonatomic) UIView* rtcLocalView; //RTC本地预览画面

@property(weak,nonatomic)id<AIRBRTCDelegate> delegate;

startLocalPreview

- ( 
void 
) startLocalPreview;

打开本地预览

joinChannel

- ( 
void 
) joinChannel;

加入RTC

leaveChannel

- ( 
void 
) leaveChannel;

离开RTC

addPeers

- ( 
void 
) addPeers:(NSArray<NSString*>*)userIDs;

在RTC内呼叫某用户

userIDs:呼叫的用户ID。

removePeers

- ( 
void 
) removePeers:(NSArray<NSString*>*)userIDs;

把RTC内某用户踢出RTC

userIDs:呼叫的用户ID。

approveJoiningApplication

- ( 
void 
) approveJoiningApplication:( 
BOOL 
)approve fromPeer:(NSString*)userID;

同意或者拒绝某人对自己的加入RTC的申请

  • approve:是否同意。

  • userID:用户ID。

acceptCall

- ( 
void 
) acceptCall:( 
BOOL 
)accept;

同意或者拒绝某人对自己的呼叫

approve:是否同意。

applyForJoining

- ( 
void 
) applyForJoining:( 
BOOL 
)applyOrWithdraw;

申请加入RTC

queryCurrentPeerList

- ( 
void 
) queryCurrentPeerListWithType:(AIRBRTCPeerType)type
pageNum:(int32_t)pageNum
pageSize:(int32_t)pageSize
onSuccess:( 
void 
(^)(AIRBRoomChannelUserListResponse* rsp))onSuccess
onFailure:( 
void 
(^)(NSString* errorMessage))onFailure;

实时获取一场RTC内所有的成员

  • pageNum:查询的页码,从1开始。

  • pageSize:每页的大小。

  • onSuccess:成功的回调。

  • onFailure:失败的回调。

muteLocalMicphone

- ( 
void 
) muteLocalMicphone:( 
BOOL 
)mute;

打开或者关闭自己的麦克风

mute:是否打开。

muteLocalCamera

- ( 
void 
) muteLocalCamera:( 
BOOL 
)mute;

打开或者关闭自己的摄像头

mute:是否打开。

startPublishingBypassLive

- ( 
void 
) startPublishingBypassLive;

开始旁路直播

AIRBWhiteBoardProtocol

API

描述

@property(strong,nonatomic) UIView* whiteboardView; //白板画面view

@property(weak,nonatomic)id<AIRBWhiteBoardDelegate> delegate;

open

- ( 
void 
) openWithConfig:(AIRBWhiteBoardConfig*)config;

打开白板

config:白板配置。

destroy

- ( 
void 
) destroy;

关闭白板

AIRBWhiteBoardConfig

API

描述

@property(assign,nonatomic) int32_t whiteboardContentWidth; //白板画面view的父view的宽

@property(assign,nonatomic) int32_t whiteboardContentHeight;//白板画面view的父view的高

AIRBLivePusherProtocol

API

描述

@property(weak,nonatomic)id<AIRBLivePusherDelegate> delegate;

@property(strong,nonatomic) AIRBLivePusherOptions* options; //直播推流的配置

@property(strong,nonatomic) UIView* pusherView; //推流时的本地预览view

@property(assign,nonatomic) AIRBLiveViewContentMode contentMode; //推流时本地预览画面的拉伸模式;

startLocalPreview

- ( 
void 
) startLocalPreviewWithOptions:( 
AIRBLivePusherOptions 
*)options;
根据配置,打开推流预览画面
options:推流相关的配置。

收到AIRBRoomChannelEventEntered后才可调用。

startLiveStreaming

- ( 
void 
) startLiveStreaming;

开始直播推流

收到AIRBLivePusherEventCreated后才可调用。

pauseLiveStreaming

- ( 
void 
) pauseLiveStreaming;

暂停直播推流

resumeLiveStreaming

- ( 
void 
) resumeLiveStreaming;
从暂停状态下恢复直播推流

stopLiveStreaming

- ( 
void 
) stopLiveStreaming;
停止直播推流

setPreviewMirror

- ( 
void 
) setPreviewMirror:( 
BOOL 
)mirror;
是否开启摄像头预览画面的镜像

setStreamingVideoMirror

- ( 
void 
) setStreamingVideoMirror:( 
BOOL 
)mirror;
是否开启视频流的画面镜像

toggleCamera

- ( 
void 
) toggleCamera;
切换前后摄像头,默认使用前置摄像头

toggleMuted

- ( 
void 
) toggleMuted;
切换推流是否静音(静音后观众侧听不到主播侧的声音)

toggleFaceBeauty

- ( 
void 
) toggleFaceBeauty;
动态打开或者关闭美颜

updateFaceBeautyParameters

- ( 
void 
) updateFaceBeautyParameters:(AIRBLivePusherFaceBeautyOptions*) beautyOptions;
动态更新美颜参数,具体见AIRBLivePusherFaceBeautyOptions

AIRBLivePusherOptions

API

描述

AIRBLivePusherMediaStreamingOptions.onlyVideo

是否进行仅视频推流(不录制音频),默认NO

AIRBLivePusherMediaStreamingOptions.videoFrameRate

直播推流视频帧率,默认20,不建议外部调节

AIRBLivePusherMediaStreamingOptions.videoBitrate

直播推流的视频码率,单位kbps,范围400~5000,默认 1500,不建议外部调节

AIRBLivePusherMediaStreamingOptions.maxVideoKeyFrameInterval

直播推流的视频帧最大关键帧间隔,单位秒,默认4秒,不建议外部调节

AIRBLivePusherMediaStreamingOptions.cameraDefaultType

直播推流启动时的摄像头类型,默认前置摄像头

AIRBLivePusherMediaStreamingOptions.onlyAudio

是否纯音频直播推流(不录制视频)

AIRBLivePusherFaceBeautyOptions.beautyMode

美颜模式,默认AIRBLivePushBeautyModeNormal

AIRBLivePusherFaceBeautyOptions.beautyWhite

美白,默认70

AIRBLivePusherFaceBeautyOptions.beautyBuffing

磨皮,默认40

AIRBLivePusherFaceBeautyOptions.beautyRuddy

红润,默认40

AIRBLivePusherFaceBeautyOptions.beautyCheekPink

腮红,默认15

AIRBLivePusherFaceBeautyOptions.beautyThinFace

瘦脸,默认40

AIRBLivePusherFaceBeautyOptions.beautyShortenFace

收下巴,默认50

AIRBLivePusherFaceBeautyOptions.beautyBigEye

大眼,默认30

AIRBLivePlayerProtocol

API

描述

@property(strong,nonatomic) UIView* playerView; //播放画面

@property(weak,nonatomic)id<AIRBLivePlayerDelegate> delegate;

@property(assign,nonatomic)floatplayerVolume; //播放音量

@property(assign,nonatomic) AIRBLiveViewContentMode contentMode; //播放画面的拉伸模式

start

- ( 
void 
) start;

启动直播播放

收到AIRBRoomChannelRoomEventEntered后才可调用。

start

- (UIView*) pause;

暂停直播播放

resume

- ( 
void 
) resume;

恢复直播播放

stop

- ( 
void 
) stop;

停止直播播放

snapshotAsync

- ( 
void 
) snapshotAsync;
异步截取当前视频画面,通过delegate返回一个UIImage,具体见onAIRBLivePlayerImageSnapshot

toggleMuted

- ( 
void 
) toggleMuted;

直播播放静音与否切换

AIRBRoomChannelMessageType

API

描述

AIRBRoomChannelMessageTypeRoomMembersInOut

成员进出直播间消息

{
"enter":true,
"nick":"5556",
"onlineCount":1,
"userId":"5556",
"uv":1
}

AIRBRoomChannelMessageTypeRoomTitleUpdated

直播间标题更新消息

"xxxxx" //即新的直播间title

AIRBRoomChannelMessageTypeRoomNoticeUpdated

直播间公告更新消息

"xxxxx" //即新的直播间公告

AIRBRoomChannelMessageTypeRoomOneUserKickedOut

直播间内某用户被踢出直播间

{
"userId":"xxxxx", //踢人者用户id
"kickUser":"xxxxx", // 被踢者用户id
"kickUserName":xxxxx // 被踢者用户昵称
}

AIRBRoomChannelMessageTypeChatCommentReceived

直播间聊天消息

{
"commentId":"xxxxx",
"content":"xxxxx",
"createAt":xxxxx,
"creatorNick":"5586",
"creatorOpenId":"5586",
"topicId":"xxxxxxxx",
"type":0
}

AIRBRoomChannelMessageTypeChatLikeReceived

直播间内点赞消息

{
"topicId":"b305f7fb-04d0-437e-99f7-4d856ba5****",
"likeCount":2
}

AIRBRoomChannelMessageTypeChatOneUserMutedOrUnmuted

直播间内某用户被禁言

{ //对某用户禁言
"mute":true,
"muteTime":300,
"muteUserNick":"3789",
"muteUserOpenId":"3789",
"topicId":"dc8d3f0c-da78-4bb4-8d1c-89fb8a55****"
}
{ //取消对某用户禁言
"mute":false,
"muteUserNick":"3789",
"muteUserOpenId":"3789",
"topicId":"dc8d3f0c-da78-4bb4-8d1c-89fb8a55****"
}

AIRBRoomChannelMessageTypeLiveCreatedByOther

直播间内别人创建了一场直播的消息

AIRBRoomChannelMessageTypeLiveStartedByOther

直播间内别人的一场直播开始了的消息

AIRBRoomChannelMessageTypeLiveStoppedByOther

直播间内别人的一场直播结束了的消息

AIRBRoomChannelMessageTypePeerJoinRTCSucceeded

直播间内某用户加入了RTC

{
"confId":"AliRtcxxxxxxxxxxx",
"type":1,
"userList":[
{
"cameraStatus":0,
"micphoneStatus":0,
"nickname":"",
"sourceId":"156164",
"status":3,
"userId":"156164"
}
],
"version":xxxxx
}

AIRBRoomChannelMessageTypePeerJoinRTCFailed

直播间内加入RTC超时或者拒绝加入RTC

{
"confId":"AliRtcd7bd2a3ad04b4e8699",
"type":2,
"userList":[
{
"errorCode":"",  //这里目前为空,原因都是对端拒绝
"status":4,
"userId":"5586"
}
],
"version":"3939406403651062016"
}

AIRBRoomChannelMessageTypePeerLeaveRTC

直播间内某用户离开了RTC

{
"confId":"xxxxxxx",
"type":3,
"userList":[
{
"status":6,   // 这里status表示状态 1:初始状态 2:呼叫状态 3:会议中 4:入会失败 5:被踢出 6:离会
"userId":"5586"
}
],
"version":"5071784198576555155"
}

AIRBRoomChannelMessageTypePeerKickedFromRTC

直播间内某用户被移出RTC

{
"confId":"xxxxx",
"type":x,
"userList":[
{
"cameraStatus":0,  // 0:关闭,1:打开
"deviceId":"",
"duration":0,
"micphoneStatus":0,  // 0:关闭,1:打开
"nickname":"",
"source":0,
"sourceId":"345",
"status":5,
"tenantId":"",
"userId":"345"
}
],
"version":xxxxxx
}

AIRBRoomChannelMessageTypeRTCStarted

直播间内一场RTC开始了

{
"confInfoModel":{
"anchorId":"xxxx",
"anchorNickname":"",
"appId":"xxxxx",
"bizType":"classroom",
"confId":"xxxxx",
"duration":0,
"preEndTime":0,
"preStartTime":0,
"roomId":"xxxxxx",
"source":0,
"sourceId":"xxxxxxx",
"status":0,
"tenantId":"xxxxxx",
"title":"",
"userList":[
]
},
"type":5,
"version":"7414494959543993692"
}

AIRBRoomChannelMessageTypeRTCStopped

直播间内一场RTC结束了

{
"confInfoModel":{
"anchorId":"5586",
"anchorNickname":"",
"appId":"xxxxx",
"bizType":"xxxxxx",
"confId":"xxxxxxx",
"duration":0,
"preEndTime":0,
"preStartTime":0,
"roomId":"xxxxxx",
"source":0,
"sourceId":"xxxxxxxx",
"status":0,
"tenantId":"xxxxxxx",
"title":"",
"userList":[
{
"cameraStatus":0,
"deviceId":"xxxxxxx",
"duration":0,
"errorCode":"",
"micphoneStatus":0,
"nickname":"",
"source":0,
"sourceId":"xxxxxxx",
"status":4,
"tenantId":"1569899459811379",
"userId":"3789"
}
]
},
"type":6,
"version":"398653650867341799"
}

AIRBRoomChannelMessageTypeOnRTCCalled

一场RTC内某人收到了别人的呼叫

{
"calleeList":[
{
"cameraStatus":0,
"deviceId":"",
"duration":0, // 累计入会时长(秒)
"enterTime":0,
"errorCode":"",
"extension":"",
"leaveTime":0,
"micphoneStatus":0,
"nickname":"",
"source":0,
"sourceId":"",
"status":2,
"tenantId":"",
"userId":"3789"
}
],
"caller":{
"userId":"5586"
},
"type":7,
"version":"7799158292960264722"
}

AIRBRoomChannelMessageTypeOnReceiveRTCJoiningApplication

一场RTC内某人收到了别人申请加入RTC的申请

{
"applyUser":{
"userId":"678"
},
"confId":"xxxxx",
"isApply":false,
"type":8,
"version":9045665597740303614
}

AIRBRoomChannelMessageTypeOnReceiveRTCJoiningApplicationRespond

一场RTC内某个人加入RTC的申请被处理了(可能同意或者拒绝)

{
"approve":true,
"confId":"xxxxx",
"type":9,
"uid":"6567",
"version":"xxxxxxx"
}

事件列表

AIRBRoomEngineEvent

API

描述

AIRBRoomEngineEventEngineStarted

AIRBRoomEngine启动成功

AIRBRoomEngineEventEngineLogined

AIRBRoomEngine用户登录成功

AIRBRoomEngineEventEngineLogouted

AIRBRoomEngine用户登出成功

AIRBRoomChannelEvent

API

描述

AIRBRoomChannelEventEntered = 0

进入直播间成功

AIRBRoomChannelEventMessageReceived

收到直播间内的消息,消息内容来自info字段,具体为

@{

@"type" : 为AIRBRoomChannelRoomMessage,

@"data": 为具体消息内容

}

AIRBRoomChannelEventLeft

退出直播间成功

AIRBRoomChannelEventRoomInfoGotten

获取到了直播间信息,info字段会携带具体内容,如下

@{

@"type" : @"xxxxx" //目前无意义

@"title" : @"xxxxx" //直播间标题

@"notice" : @"xxxxx" //直播间公告

@"onlineCount" : xxxx // 实时直播间内人数(包括自己)

@"uv" : xxxx //直播间内累计uv(同一个user-id多次进出直播间算一次uv)

}

AIRBLivePusherEvent

API

描述

AIRBRoomChannelLivePusherEventCreated

直播推流创建成功

AIRBRoomChannelLivePusherEventStarted

直播推流启动成功

AIRBRoomChannelLivePusherEventNetworkPoored

直播推流遭遇弱网

AIRBRoomChannelLivePusherEventNetworkRecoveried

直播推流弱网情况恢复

AIRBRoomChannelLivePusherEventStopped

直播推流停止了

AIRBLivePlayerEvent

API

描述

AIRBLivePlayerEventStarted

直播播放开始,收到视频首帧

AIRBLivePlayerEventStartLoading

直播播放loading开始,画面开始卡顿

AIRBLivePlayerEventEndLoading

直播播放loading结束,画面结束卡顿

AIRBLivePlayerEventImageCaptured

直播播放画面异步截图成功,通过delegate中onAIRBLivePlayerImageSnapshot回调来得到截图结果UIImage;

错误码

AIRBErrorCode

AIRBEngineFailedToStart = 0x000,
AIRBEngineFailedToCreateDPSManager,
AIRBEngineFailedToLogin,
AIRBEngineFailedToLogout,

AIRBRoomChannelFailedToEnterRoom = 0x100, // Room
AIRBRoomChannelFailedToGetRoomDetail,
AIRBRoomChannelFailedToLeaveRoom,

AIRBLivePusherFailedToCreate = 0x200, // LivePusher
AIRBLivePusherFailedToGetDetail,
AIRBLivePusherFailedToStartPusherEngine,
AIRBLivePusherFailedToOpenCamera,
AIRBLivePusherFailedToConnect,
AIRBLivePusherFailedToReconnect,
AIRBLivePusherFailedToSendOutData,
AIRBLivePusherFailedToOpenMicphone,
AIRBLivePusherFailedToPublishLive,
AIRBLivePusherFailedToStopLive,
AIRBLivePusherConnectionLost,

AIRBLivePlayerFailedToStartPlayWhenNoLiveHere = 0x300,
AIRBLivePlayerFailedToGetDetail,
AIRBLivePlayerFailedToStartPlayWithInactiveLive,
AIRBLivePlayerFailedToPlayWithFatalError,

AIRBWhiteBoardFailedToCreateWhenServiceUnavailable = 0x400,
AIRBWhiteBoardFailedToCreateWhenRoleInvalid,
AIRBWhiteBoardFailedToCreateWhenTokenInvalid,

AIRBRTCFailedToJoinWhenNoRTCHere = 0x500,
AIRBRTCFailedToGetToken,
AIRBRTCFailedToCreate,
AIRBRTCFailedWithInternalError,
AIRBRTCFailedToAddPeers,
AIRBRTCFailedToRemovePeers,
AIRBRTCFailedToAcceptWhenCalled,
AIRBRTCFailedToApplyOrWithdrawJoinning,
AIRBRTCFailedToLeave,
AIRBRTCFailedToReportJoinChannelStatus,
AIRBRTCFailedToReportLeaveChannelStatus,
AIRBRTCFailedToCreateBypassLive,
AIRBRTCFailedToPublishBypassLive,
AIRBRTCFailedToGetBypassLiveDetail,
AIRBRTCFailedToDestroyBypassLive,