音视频通讯SDK API参考手册  iOS 1.4.0
av_room.h
1 #ifndef AV_ROOM_H_
2 #define AV_ROOM_H_
3 
4 #include "av_common.h"
5 #include "av_endpoint.h"
6 
7 namespace tencent {
8 namespace av {
9 
10 //权限位
11 #define AUTH_BITS_DEFUALT 0xFFFFFFFFFFFFFFFF
12 #define AUTH_BITS_CREATE_ROOM 0x00000001
13 #define AUTH_BITS_JOIN_ROOM 0x00000002
14 #define AUTH_BITS_SEND_AUDIO 0x00000004
15 #define AUTH_BITS_RECV_AUDIO 0x00000008
16 #define AUTH_BITS_SEND_VIDEO 0x00000010
17 #define AUTH_BITS_RECV_VIDEO 0x00000020
18 #define AUTH_BITS_SEND_SUB 0x00000040
19 #define AUTH_BITS_RECV_SUB 0x00000080
20 
21 
29 class AV_EXPORT AVRoom {
30  public:
32  enum RoomType {
33  ROOM_TYPE_NONE = 0,
34  ROOM_TYPE_PAIR = 1,
35  ROOM_TYPE_MULTI = 2,
36  };
37 
39  enum Mode {
40  MODE_AUDIO = 0,
41  MODE_VIDEO = 1,
42  };
43 
44 
47  AUDIO_CATEGORY_VOICECHAT = 0,
48  AUDIO_CATEGORY_MEDIA_PLAY_AND_RECORD = 1,
49  AUDIO_CATEGORY_MEDIA_PLAYBACK = 2,
50  };
51 
54  EVENT_ID_NONE = 0,
55  EVENT_ID_ENDPOINT_ENTER = 1,
56  EVENT_ID_ENDPOINT_EXIT = 2,
57  EVENT_ID_ENDPOINT_HAS_VIDEO = 3,
58  EVENT_ID_ENDPOINT_NO_VIDEO = 4,
59  EVENT_ID_ENDPOINT_HAS_AUDIO = 5,
60  EVENT_ID_ENDPOINT_NO_AUDIO = 6,
61  };
62 
64  struct Delegate {
65  virtual ~Delegate() {}
77  virtual void OnEnterRoomComplete(int32 ret_code) = 0;
78 
88  virtual void OnExitRoomComplete(int32 ret_code) = 0;
89 
100  virtual void OnEndpointsUpdateInfo(EndpointEventId eventid, std::vector<std::string> updatelist) = 0;
101 
110  virtual void OnPrivilegeDiffNotify(int32 privilege) = 0;
111  };
112 
114  struct EnterRoomParam {
116  };
117 
119  struct Info {
121  : room_type(ROOM_TYPE_NONE)
122  , room_id(0)
123  , relation_type(RELATION_TYPE_OPENSDK)
124  , relation_id(0)
125  , mode(MODE_AUDIO)
126  , auth_bits(AUTH_BITS_DEFUALT)
127  , audio_category(AUDIO_CATEGORY_VOICECHAT) {
128  }
129 
130  virtual ~Info() {}
131 
133  uint64 room_id;
135  uint32 relation_id;
136  std::string peer_identifier;
138  uint64 auth_bits;
139  std::string auth_buffer;
141  std::string av_control_role;
142  };
143 
145  virtual const Info* GetRoomInfo() = 0;
146 
152  virtual uint64 GetRoomId() = 0;
153 
159  virtual RoomType GetRoomType() = 0;
160 
166  virtual std::string GetQualityTips() = 0;
167 
172  virtual void SetNetType(NetStateType type) = 0;
173 
174 #ifdef WIN32
175 
201  virtual int32 RequestViewList(const std::string identifier_list[], const AVEndpoint::View view_list[], int32 count, AVEndpoint::RequestViewListCompleteCallback complete_callback, void* custom_data) = 0;
202 
220  virtual int32 CancelAllView(AVEndpoint::CancelAllViewCompleteCallback complete_callback, void* custom_data) = 0;
221 #endif
222 
223  DISALLOW_EVIL_DESTRUCTIONS(AVRoom)
224 };
225 
226 } // namespace av
227 } // namespace tencent
228 
229 #endif // #ifndef AV_ROOM_H_
Definition: av_audio_ctrl.h:6
RelationType relation_type
关系类型,多人房间专用,第三方App固定填6。
Definition: av_room.h:134
std::string av_control_role
音视场景策略,多人房间专用。
Definition: av_room.h:141
NetStateType
Definition: av_common.h:174
uint64 room_id
房间Id。
Definition: av_room.h:133
RoomType
音视频房间类型。
Definition: av_room.h:32
RoomType room_type
房间类型,详情见RoomType的定义。
Definition: av_room.h:115
virtual ~Info()
Definition: av_room.h:130
uint64 auth_bits
音视频权限bitmap,多人房间专用。
Definition: av_room.h:138
uint32 relation_id
关系Id,多人房间专用。
Definition: av_room.h:135
房间委托的抽象基类,App需要实现其成员函数来得到房间异步操作的执行结果。
Definition: av_room.h:64
视频画面参数。
Definition: av_endpoint.h:101
virtual ~Delegate()
Definition: av_room.h:65
void(* CancelAllViewCompleteCallback)(int32 result, void *custom_data)
CancelAllView()的回调函数。
Definition: av_endpoint.h:98
音视频开放SDK,第三方App专用。
Definition: av_common.h:56
进入房间所需参数的基类,SDK内部会根据room_type的取值来判断对象的实际类型。
Definition: av_room.h:114
void(* RequestViewListCompleteCallback)(std::string identifier_list[], int32 count, int32 result, void *custom_data)
RequestViewList()的回调函数。
Definition: av_endpoint.h:83
std::string peer_identifier
对端Id,双人房间专用。
Definition: av_room.h:136
音视频房间封装类的基类。
Definition: av_room.h:29
std::string auth_buffer
Definition: av_room.h:139
Mode
音视频通话模式。
Definition: av_room.h:39
Info()
Definition: av_room.h:120
EndpointEventId
成员事件id
Definition: av_room.h:53
AudioCategory
音视场景策略。
Definition: av_room.h:46
Mode mode
音视频通话模式,详情见AVMode的定义。
Definition: av_room.h:137
RelationType
关系类型。
Definition: av_common.h:50
AudioCategory audio_category
音视频权限加密串,多人房间专用。
Definition: av_room.h:140
房间配置信息。
Definition: av_room.h:119
RoomType room_type
房间类型,详情见RoomType的定义。
Definition: av_room.h:132