AVDRoom

Superclass:
NSObject
Declared In:

Introduction

房间接口类

房间接口定义了房间对象创建和释放、房间功能操作。



Methods

-createFakeDeviceID:
-destory
-enableStats:
-getAppData:
-getAppRoomId
-getMediaStats:
-getOption:
-getRoomId
-getRoomInfo
-getRoomName
-getRoomStats
-getRoomStatus
-getRoomTopic
-joinWithUser:password:delegate:
-kickoutUser:userId:
-leave:
+obtain:
+obtain:
-reJoin
-sendPrivateData:toUserId:
-sendPublicData:
-setOption:value:
-updateAppData:value:
-updateRoomStatus:

createFakeDeviceID:


- (AVDDeviceId) createFakeDeviceID:(AVDDeviceId)fakeId; 
Return Value

模拟设备Id。

模拟摄像头信息,接口会生成deviceId,生成规则:"userId_"+(用户输入的fakeId), 此处deviceId不能包含'_'和'{'、'}'此三个字符。:

@sa previewLocalCamera

Discussion

创建模拟设备Id,在导入音视频时可用

@param[in] fakeId 自定义Id。


destory


- (void) destory; 
Discussion

释放房间对象


enableStats:


- (AVDResult) enableStats:(BOOL)isEnable; 
Return Value

返回错误代码: AVD_OK 成功

Discussion

当前房间启用或关闭流量统计功能 @param[in] isEnable 启用或关闭。


getAppData:


- (NSString*) getAppData:(NSString*)key; 
Return Value

返回应用层的相应关键字的房间数据。

Discussion

返回应用层的房间数据

@param[in] *key 房间数据关键字。

应用层的房间数据方便应用层在房间中保留关于房间的一些业务逻辑数据,可以获取和修改应用层的房间数据。:


getAppRoomId


- (NSString*) getAppRoomId; 
Return Value

返回房间应用层Id。

Discussion

获取房间应用层Id

房间应用层Id在应用层安排当前房间的时候由应用层来指定,方便应用层查找、标示房间。:


getMediaStats:


- (AVDMediaStats*) getMediaStats:(AVDDeviceId)deviceId; 
Return Value

返回媒体统计信息。 @sa MediaStats

Discussion

获取某路媒体(音频或者视频)的流量统计信息 @param[in] deviceId 设备Id。


getOption:


- (NSString*) getOption:(enum AVDRoomOption)type; 
Return Value

返回房间选项值。

Discussion

获取房间选项

@param[in] type 房间选项类型。


getRoomId


- (AVDRoomId) getRoomId; 
Return Value

返回房间Id。

Discussion

获取房间Id


getRoomInfo


- (AVDRoomInfo*) getRoomInfo; 
Return Value

返回房间信息。 @sa RoomInfo

Discussion

获取房间信息


getRoomName


- (NSString*) getRoomName; 
Return Value

返回房间名。

Discussion

获取房间名


getRoomStats


- (AVDRoomStats*) getRoomStats; 
Return Value

返回房间流量统计信息。 @sa RoomStats

Discussion

获取房间的流量统计信息


getRoomStatus


- (enum AVDRoomStatus) getRoomStatus; 
Return Value

返回房间状态。 @sa RoomStatus

Discussion

获取房间状态


getRoomTopic


- (NSString*) getRoomTopic; 
Return Value

返回房间主题。

Discussion

获取房间主题


joinWithUser:password:delegate:


- (AVDResult) joinWithUser:(AVDUser*)user password:(NSString*)password 
        delegate:(id<AVDRoomJoinDelegate>)joinresult; 
Return Value

返回错误代码。 @sa User

Discussion

当前用户加入房间

@param[in] *user 用户信息:用户Id,用户名,用户数据等;当应用层必须传入有效的user.UserId,来唯一标识一个用户。 @param[in] *password 密码:如果是主持人请用主持人密码;如果是其他参会者,请用房间密码。 @param[in] joinresult 加房间回调接口。


kickoutUser:userId:


- (AVDResult) kickoutUser:(AVDResult)reason userId:(AVDUserId)userId; 
Return Value

返回错误代码。 @sa onLeaveIndication

Discussion

房间中踢出用户

@param[in] reason 踢出用户的理由代码。 @param[in] userId 被踢出用户Id。

被踢用户将会在onLeaveIndication中接收到回调,被踢用户直接调用 leave 离开房间即可。:


leave:


- (AVDResult) leave:(AVDResult)reason; 
Return Value

返回错误代码。

Discussion

当前用户离开房间

@param[in] reason 用户离开房间的原因代码,正常离开为AVD_OK。

当前用户离开房间后,当前房间对象和房间的各功能模块都处于离会状态,功能操作无效。:


obtain:


+ (AVDRoom* ) obtain:(AVDRoomId)roomID; 
Discussion

< 房间用户管理模块接口


obtain:


+ (AVDRoom* ) obtain:(AVDRoomId)roomID; 
Return Value

返回房间对象指针。

Discussion

获取房间对象

房间对象的生命周期由AVD SDK来管理,应用层通过obtain获取一个房间对象,房间最终不使用的时候调用destory来释放。:


reJoin


- (AVDResult) reJoin; 
Return Value

返回错误代码。

Discussion

重新加入当前房间

当用户主动离开房间或者中间网络断线后离开房间后,可以重新调用此函数加入房间。:


sendPrivateData:toUserId:


- (AVDResult) sendPrivateData:(NSData*)data toUserId:(AVDUserId)toId; 
Return Value

返回错误代码。

Discussion

透明通道,发送私有数据

@param[in] *data 发送的数据指针。 @param[in] toId 目的用户Id。

此透明通道用于承载应用层数据,发送给房间内某一特定用户。:


sendPublicData:


- (AVDResult) sendPublicData:(NSData*)data; 
Return Value

返回错误代码。

Discussion

透明通道,发送广播数据

@param[in] *data 发送的数据指针。

此透明通道用于承载应用层数据,广播给所有房间内用户。:


setOption:value:


- (AVDResult) setOption:(enum AVDRoomOption)type value:(NSString*)svalue; 
Return Value

返回错误代码。

Discussion

设置房间选项

@param[in] type 房间选项类型。 @param[in] svalue 房间选项值。


updateAppData:value:


- (AVDResult) updateAppData:(NSString*)key value:(NSString*)value; 
Return Value

返回错误代码。

Discussion

修改应用层的房间数据

@param[in] *key 房间数据关键字。 @param[in] *value 房间数据对应关键字的信息内容


updateRoomStatus:


- (AVDResult) updateRoomStatus:(enum AVDRoomStatus)status; 
Return Value

返回错误代码。 @sa RoomStatus

Discussion

更新房间状态

@param[in] status 房间状态。


Properties

userManager

userManager


@property (nonatomic,
    strong) AVDUserManager* userManager; 
Discussion

< 房间逻辑回调代理