cn.tee3.avd_SDK-C++  2.1.0
| Public 类型 | Public 成员函数 | 静态 Public 成员函数 | Protected 成员函数 | 所有成员列表
tee3::avd::IRoom类 参考abstract

房间接口类 更多...

class  IListener
 房间回调接口类 更多...
 

Public 类型

typedef void(* FuncJoinResult) (const RoomId &roomId, Result result)
 加入房间回调接口 更多...
 

Public 成员函数

virtual void release ()=0
 释放房间接口 更多...
 
virtual Result setListener (IListener *listener)=0
 设置房间回调接口 更多...
 
virtual Result join (const User &user, const String &password, FuncJoinResult joinresult)=0
 当前用户加入房间 更多...
 
virtual Result leave (Result reason)=0
 当前用户离开房间 更多...
 
virtual Result close ()=0
 关闭房间 更多...
 
virtual Result reJoin ()=0
 重新加入当前房间 更多...
 
virtual Result reConnect ()=0
 重置房间中网络连接 更多...
 
virtual Result kickoutUser (Result reason, const UserId &userId)=0
 房间中踢出用户 更多...
 
virtual Result updateRoomStatus (RoomStatus status)=0
 更新房间状态 更多...
 
virtual RoomStatus getRoomStatus () const =0
 获取房间状态 更多...
 
virtual const RoomIdgetRoomId () const =0
 获取房间Id 更多...
 
virtual const StringgetAppRoomId () const =0
 获取房间应用层Id 更多...
 
virtual const StringgetRoomName () const =0
 获取房间名 更多...
 
virtual const StringgetRoomTopic () const =0
 获取房间主题 更多...
 
virtual const RoomInfogetRoomInfo () const =0
 获取房间信息 更多...
 
virtual Result sendPublicData (const char *data, uint32 len)=0
 透明通道,发送广播数据 更多...
 
virtual Result sendPrivateData (const char *data, uint32 len, const UserId &toId)=0
 透明通道,发送私有数据 更多...
 
virtual String getAppData (const String &key) const =0
 返回应用层的房间数据 更多...
 
virtual Result updateAppData (const String &key, const String &value)=0
 修改应用层的房间数据 更多...
 
virtual DeviceId createFakeDeviceID (const DeviceId &fakeId)=0
 创建模拟设备Id,在导入音视频时可用 更多...
 
virtual bool isWorking () const =0
 
virtual Result join (const User &user, const String &password, FuncJoinResult joinresult, const String &roomToken)=0
 当前用户加入房间 更多...
 
virtual Result enableStats (bool isEnable)=0
 当前房间启用或关闭流量统计功能 更多...
 
virtual const RoomStatsgetRoomStats () const =0
 获取房间的流量统计信息 更多...
 
virtual const MediaStatsgetMediaStats (const DeviceId &deviceId) const =0
 获取某路媒体(音频或者视频)的流量统计信息 更多...
 
virtual const MediaStatsgetAudioStats ()=0
 
virtual Result setOption (RoomOption type, void *value)=0
 设置房间选项 更多...
 
virtual Result setOption (RoomOption type, const String &value)=0
 
virtual Result getOption (RoomOption type, void *value)=0
 获取房间选项 更多...
 
virtual String getOption (RoomOption type)=0
 

静态 Public 成员函数

static IRoomobtain (const RoomId &roomId)
 获取或创建房间接口 更多...
 
static IRoomobtain (const RoomId &roomId, const UserId &userId)
 获取或创建房间接口 更多...
 

Protected 成员函数

virtual ~IRoom ()
 

详细描述

房间接口类

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

成员类型定义说明

◆ FuncJoinResult

typedef void(* tee3::avd::IRoom::FuncJoinResult) (const RoomId &roomId, Result result)

加入房间回调接口

参数
[in]result加入错误代码。
参见
join

构造及析构函数说明

◆ ~IRoom()

virtual tee3::avd::IRoom::~IRoom ( )
protectedvirtual

成员函数说明

◆ close()

virtual Result tee3::avd::IRoom::close ( )
pure virtual

关闭房间

注解
只有主持人(host)才能关闭房间。
返回
返回错误代码。

◆ createFakeDeviceID()

virtual DeviceId tee3::avd::IRoom::createFakeDeviceID ( const DeviceId fakeId)
pure virtual

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

参数
[in]fakeId自定义Id。
返回
模拟设备Id。
注解
模拟摄像头信息,接口会生成deviceId,生成规则:"userId_"+(用户输入的fakeId), 此处deviceId不能包含'_'和'{'、'}'此三个字符。
参见
previewLocalCamera
publishLocalCamera

◆ enableStats()

virtual Result tee3::avd::IRoom::enableStats ( bool  isEnable)
pure virtual

当前房间启用或关闭流量统计功能

参数
[in]isEnable启用或关闭。
返回
返回错误代码: AVD_OK 成功

◆ getAppData()

virtual String tee3::avd::IRoom::getAppData ( const String key) const
pure virtual

返回应用层的房间数据

参数
[in]key房间数据关键字。
注解
应用层的房间数据方便应用层在房间中保留关于房间的一些业务逻辑数据,可以获取和修改应用层的房间数据。
返回
返回应用层的相应关键字的房间数据。

◆ getAppRoomId()

virtual const String& tee3::avd::IRoom::getAppRoomId ( ) const
pure virtual

获取房间应用层Id

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

◆ getAudioStats()

virtual const MediaStats& tee3::avd::IRoom::getAudioStats ( )
pure virtual

◆ getMediaStats()

virtual const MediaStats& tee3::avd::IRoom::getMediaStats ( const DeviceId deviceId) const
pure virtual

获取某路媒体(音频或者视频)的流量统计信息

参数
[in]deviceId设备Id。
返回
返回媒体统计信息。
参见
MediaStats

◆ getOption() [1/2]

virtual Result tee3::avd::IRoom::getOption ( RoomOption  type,
void *  value 
)
pure virtual

获取房间选项

参数
[in]type房间选项类型。
[out]*value房间选项返回值指针。
返回
返回错误代码。

◆ getOption() [2/2]

virtual String tee3::avd::IRoom::getOption ( RoomOption  type)
pure virtual

◆ getRoomId()

virtual const RoomId& tee3::avd::IRoom::getRoomId ( ) const
pure virtual

获取房间Id

返回
返回房间Id。

◆ getRoomInfo()

virtual const RoomInfo& tee3::avd::IRoom::getRoomInfo ( ) const
pure virtual

获取房间信息

返回
返回房间信息。
参见
RoomInfo

◆ getRoomName()

virtual const String& tee3::avd::IRoom::getRoomName ( ) const
pure virtual

获取房间名

返回
返回房间名。

◆ getRoomStats()

virtual const RoomStats& tee3::avd::IRoom::getRoomStats ( ) const
pure virtual

获取房间的流量统计信息

返回
返回房间流量统计信息。
参见
RoomStats

◆ getRoomStatus()

virtual RoomStatus tee3::avd::IRoom::getRoomStatus ( ) const
pure virtual

获取房间状态

返回
返回房间状态。
参见
RoomStatus

◆ getRoomTopic()

virtual const String& tee3::avd::IRoom::getRoomTopic ( ) const
pure virtual

获取房间主题

返回
返回房间主题。

◆ isWorking()

virtual bool tee3::avd::IRoom::isWorking ( ) const
pure virtual

◆ join() [1/2]

virtual Result tee3::avd::IRoom::join ( const User user,
const String password,
FuncJoinResult  joinresult 
)
pure virtual

当前用户加入房间

参数
[in,out]user用户信息:用户Id(不能包含'{'、'}'字符),用户名,用户数据等;当应用层不传入user.userId时,SDK将创建一个新的guid作为user.userId,同时返回给应用层。
[in]password密码:如果是主持人请用主持人密码;如果是其他参会者,请用房间密码。
[in]joinresult加房间回调接口。
注解
加入房间时,可以指定结果单独回调接口;如果指定,则在指定单独接口回调,不会在Listener的onJoinResult回调。
返回
返回错误代码。
参见
User

◆ join() [2/2]

virtual Result tee3::avd::IRoom::join ( const User user,
const String password,
FuncJoinResult  joinresult,
const String roomToken 
)
pure virtual

当前用户加入房间

参数
[in,out]user用户信息:用户Id(不能包含'{'、'}'字符),用户名,用户数据等;当应用层不传入user.userId时,SDK将创建一个新的guid作为user.userId,同时返回给应用层。
[in]password密码:如果是主持人请用主持人密码;如果是其他参会者,请用房间密码。
[in]joinresult加房间回调接口。
[in]roomToken房间token。
注解
加入房间时,可以指定结果单独回调接口;如果指定,则在指定单独接口回调,不会在Listener的onJoinResult回调。
返回
返回错误代码。
参见
User

◆ kickoutUser()

virtual Result tee3::avd::IRoom::kickoutUser ( Result  reason,
const UserId userId 
)
pure virtual

房间中踢出用户

参数
[in]reason踢出用户的理由代码。
[in]userId被踢出用户Id。
注解
被踢用户将会在onLeaveIndication中接收到回调,被踢用户直接调用 leave 离开房间即可。
返回
返回错误代码。
参见
onLeaveIndication

◆ leave()

virtual Result tee3::avd::IRoom::leave ( Result  reason)
pure virtual

当前用户离开房间

参数
[in]reason用户离开房间的原因代码,正常离开为AVD_OK。
注解
当前用户离开房间后,当前房间对象和房间的各功能模块都处于离会状态,功能操作无效。 不能在onLeaveIndication等回调函数中来调用此函数,会引起死锁。
返回
返回错误代码。

◆ obtain() [1/2]

static IRoom* tee3::avd::IRoom::obtain ( const RoomId roomId)
static

获取或创建房间接口

参数
[in]roomId房间Id。
注解
只支持单用户应用,不支持多用户应用。
返回
返回房间接口指针。

◆ obtain() [2/2]

static IRoom* tee3::avd::IRoom::obtain ( const RoomId roomId,
const UserId userId 
)
static

获取或创建房间接口

参数
[in]roomId房间Id。
[in]userId用户Id。
注解
支持一个进程中:一个房间加入多个用户的应用,如性能测试工具、代理网关等应用;房间由房间Id和用户Id组合来唯一标识。 要注意此函数与obtain(const RoomId& roomId)的区别,在多用户应用中必须调用此函数获取房间,而单用户 应用可以调用任意一个函数来使用。
返回
返回房间接口指针。

◆ reConnect()

virtual Result tee3::avd::IRoom::reConnect ( )
pure virtual

重置房间中网络连接

注解
当上层检测到网络切换等情况下,可以调用此接口进行网络连接重置。
返回
返回错误代码。

◆ reJoin()

virtual Result tee3::avd::IRoom::reJoin ( )
pure virtual

重新加入当前房间

注解
当用户主动离开房间或者中间网络断线后离开房间后,可以重新调用此函数加入房间。
返回
返回错误代码。

◆ release()

virtual void tee3::avd::IRoom::release ( )
pure virtual

释放房间接口

注解
释放房间后,App层不能再使用当前房间指针,所有引用房间指针处均需设置为NULL。 不能在onLeaveIndication等回调函数中来调用此函数,会引起死锁。

◆ sendPrivateData()

virtual Result tee3::avd::IRoom::sendPrivateData ( const char *  data,
uint32  len,
const UserId toId 
)
pure virtual

透明通道,发送私有数据

参数
[in]*data发送的数据指针。
[in]len发送的数据长度。
[in]toId目的用户Id。
注解
此透明通道用于承载应用层数据,发送给房间内某一特定用户。
返回
返回错误代码。

◆ sendPublicData()

virtual Result tee3::avd::IRoom::sendPublicData ( const char *  data,
uint32  len 
)
pure virtual

透明通道,发送广播数据

参数
[in]*data发送的数据指针。
[in]len发送的数据长度。
注解
此透明通道用于承载应用层数据,广播给所有房间内用户。
返回
返回错误代码。

◆ setListener()

virtual Result tee3::avd::IRoom::setListener ( IListener listener)
pure virtual

设置房间回调接口

参数
[in]*listener回调接口指针。
返回
返回错误代码。
参见
IListener

◆ setOption() [1/2]

virtual Result tee3::avd::IRoom::setOption ( RoomOption  type,
void *  value 
)
pure virtual

设置房间选项

参数
[in]type房间选项类型。
[in]*value房间选项值指针。
返回
返回错误代码。

◆ setOption() [2/2]

virtual Result tee3::avd::IRoom::setOption ( RoomOption  type,
const String value 
)
pure virtual

◆ updateAppData()

virtual Result tee3::avd::IRoom::updateAppData ( const String key,
const String value 
)
pure virtual

修改应用层的房间数据

参数
[in]key房间数据关键字。
[in]value房间数据对应关键字的信息内容
返回
返回错误代码。

◆ updateRoomStatus()

virtual Result tee3::avd::IRoom::updateRoomStatus ( RoomStatus  status)
pure virtual

更新房间状态

参数
[in]status房间状态。
返回
返回错误代码。
参见
RoomStatus

该类的文档由以下文件生成: