My Project
CCRoom.h
1 //
2 // CCRoom.h
3 // CCStreamer
4 //
5 // Created by cc on 17/4/28.
6 // Copyright © 2017年 cc. All rights reserved.
7 //
8 
16 #import <Foundation/Foundation.h>
17 
23 typedef enum{
24  CCFocusModeAuto,
25  CCFocusModeManual,
26 }CCFocusMode;
35 typedef enum{
36  CCRole_Teacher,
37  CCRole_Student,
38  CCRole_Watcher,
39  CCRole_Inspector,
40  CCRole_Assistant
41 }CCRole;
97 typedef enum{
98  CCSocketEvent_Chat,
99  CCSocketEvent_UserListUpdate,
100  CCSocketEvent_Announcement,
101  CCSocketEvent_GagAll,
102  CCSocketEvent_GagOne,
103  CCSocketEvent_MediaModeUpdate,
104  CCSocketEvent_PublishStart,
105  CCSocketEvent_PublishEnd,
106  CCSocketEvent_LianmaiStateUpdate,
107  CCSocketEvent_KickFromRoom,
108  CCSocketEvent_UserCountUpdate,
109  CCSocketEvent_AudioStateChanged,
110  CCSocketEvent_VideoStateChanged,
111  CCSocketEvent_TeacherNamed,
112  CCSocketEvent_TeacherNamedInfo,
113  CCSocketEvent_StudentNamed,
114  CCSocketEvent_LianmaiModeChanged,
115  CCSocketEvent_ReciveLianmaiInvite,
116  CCSocketEvent_ReciveCancleLianmaiInvite,
117  CCSocketEvent_StreamRemoved,
118  CCSocketEvent_TemplateChanged,
119  CCSocketEvent_MainStreamChanged,
120  CCSocketEvent_MaxStreamsChanged,
121  CCSocketEvent_TeacherBitRateChanged,
122  CCSocketEvent_StudentBitRateChanged,
123  CCSocketEvent_DocDraw,
124  CCSocketEvent_DocPageChange,
125  CCSocketEvent_TimerStart,
126  CCSocketEvent_TimerEnd,
127  CCSocketEvent_ReciveVote,
128  CCSocketEvent_ReciveVoteAns,
129  CCSocketEvent_ReciveStopVote,
130  CCSocketEvent_ReciveDrawStateChanged,
131  CCSocketEvent_HandupStateChanged,
132  CCSocketEvent_RotateLockedStateChanged,
133  CCSocketEvent_SocketReconnecting,
134  CCSocketEvent_SocketConnected,
135  CCSocketEvent_SocketReconnected,
136  CCSocketEvent_SocketConnectionClosed,
137  CCSocketEvent_SocketReconnectedFailed,
138  CCSocketEvent_RecivePublishError,
139  CCSocketEvent_ReciveInterCutAudioOrVideo,
140  CCSocketEvent_ReciveDocAnimationChange,
141  CCSocketEvent_ReciveAnssistantChange,
142  CCSocketEvent_ReciveStreamBigOrSmall,
143  CCSocketEvent_BrainstomSend,
144  CCSocketEvent_BrainstomReply,
145  CCSocketEvent_BrainstomEnd,
146  CCSocketEvent_VoteSend,
147  CCSocketEvent_VoteReply,
148  CCSocketEvent_VoteEnd,
149  CCSocketEvent_Flower,
150  CCSocketEvent_Cup
151 
152 }CCSocketEvent;
158 typedef enum{
159  CCVideoMode_AudioAndVideo = 1,
160  CCVideoMode_Audio = 2,
161 }CCVideoMode;
167 typedef enum{
168  CCLiveStatus_Stop,
169  CCLiveStatus_Start,
170 }CCLiveStatus;
176 typedef enum {
177  CCClassType_Rotate = 3,//自动连麦
178  CCClassType_Auto = 2,//自由连麦
179  CCClassType_Named = 1,//举手连麦
180 }CCClassType;
189 typedef enum{
190  CCRoomTemplateSpeak = 1,
191  CCRoomTemplateSingle = 2,
192  CCRoomTemplateTile = 4,
193  CCRoomTemplateOneface = 8,
194  CCRoomTemplateDoubleTeacher = 16,
195 }CCRoomTemplate;
204 typedef enum{
205  CCUserMicStatus_None,
206  CCUserMicStatus_Wait,
207  CCUserMicStatus_Connecting,
208  CCUserMicStatus_Connected,
209  CCUserMicStatus_Inviteing,
210 }CCUserMicStatus;
216 typedef enum{
217  CCUserPlatform_PC,
218  CCUserPlatform_Mobile,
219 }CCUserPlatform;
220 
226 typedef enum {
227  CCUserBitrate_1 = 100,//100
228  CCUserBitrate_2 = 200,//200
229  CCUserBitrate_3 = 300,//300
230  CCUserBitrate_4 = 500,//500
231  CCUserBitrate_5 = 1000,//1000
232  CCUserBitrate_6 = 2000,//2000
233 }CCUserBitrate;//码率
234 
239 typedef enum {
240  CCRotateType_Open = 1,//开启轮播
241  CCRotateType_Close = 0,//关闭轮播
242  CCRotateType_Update = 2,//变更
243 }CCRotateType;//轮播
252 extern NSString* const ShareScreenViewName;
253 
257 extern NSString* const ShareScreenViewUserID;
261 extern NSString* const TeacherSecondStreamViewName;
265 extern NSString* const TeacherSecondStreamViewUserID;
266 
273 typedef void(^CCComletionBlock)(BOOL result, NSError *error, id info);
277 extern NSString* const CCNotiReceiveSocketEvent;
281 extern NSString* const CCNotiNetWorkDicconnect;
285 extern NSString* const CCNotiNeedStartPublish;
289 extern NSString* const CCNotiNeedStopPublish;
293 extern NSString* const CCNotiNeedSubscriStream;
297 extern NSString* const CCNotiNeedUnSubcriStream;
301 extern NSString* const CCNotiNeedLoginOut;
302 
307 @interface CCRoom : NSObject
312 @property (assign, nonatomic, readonly) CCClassType room_class_type;
317 @property (strong, nonatomic, readonly) NSString *room_desc;
322 @property (assign, nonatomic, readonly) CCLiveStatus live_status;
327 @property (assign, nonatomic, readonly) NSInteger room_max_streams;
332 @property (assign, nonatomic, readonly) NSInteger room_max_users;
337 @property (strong, nonatomic, readonly) NSString *room_name;
342 @property (assign, nonatomic, readonly) CCUserBitrate room_publisher_bitrate;
347 @property (assign, nonatomic, readonly) CCUserBitrate room_talker_bitrate;
352 @property (assign, nonatomic, readonly) CCUserBitrate room_publisher_audioBitrate;
357 @property (assign, nonatomic, readonly) CCUserBitrate room_talker_audioBitrate;
362 @property (assign, nonatomic, readonly) CCRoomTemplate room_template;
367 @property (strong, nonatomic, readonly) NSString *user_id;
372 @property (strong, nonatomic, readonly) NSString *user_name;
377 @property (assign, nonatomic, readonly) CCRole user_role;
382 @property (strong, nonatomic, readonly) NSString *live_id;
387 @property (assign, nonatomic, readonly) CCVideoMode room_video_mode;
392 @property (assign, nonatomic, readonly) BOOL room_allow_chat;
393 
398 @property (assign, nonatomic, readonly) BOOL room_allow_audio;
403 @property (assign, nonatomic, readonly) BOOL audioState;
408 @property (assign, nonatomic, readonly) BOOL videoState;
413 @property (assign, nonatomic, readonly) NSInteger room_user_count;
418 @property (assign, nonatomic, readonly) BOOL allow_chat;
423 @property (strong, nonatomic, readonly) NSString *teacherFllowUserID;
428 @property (strong, nonatomic, readonly) NSMutableArray *room_userList;
433 @property (strong, nonatomic, readonly) NSString *docServer;
438 @property (strong, nonatomic, readonly) NSString *rtmpUrl;
443 @property (assign, nonatomic, readonly) NSTimeInterval timerStart;
448 @property (assign, nonatomic, readonly) NSTimeInterval timerDuration;
449 
454 @property (assign, nonatomic, readonly) NSTimeInterval liveStartTime;
455 
460 @property (assign, nonatomic, readonly) BOOL rotateState;
465 @property (assign, nonatomic, readonly) float rotateTime;
470 @property (strong, nonatomic, readonly) NSString* areaCode;
475 @property (assign, nonatomic, readonly) BOOL show_exit;
480 @property (strong, nonatomic, readonly) NSString *video_zoom;
485 @property (assign, nonatomic, readonly) NSTimeInterval videoSuspendTime;
490 @property (assign, nonatomic, readonly) NSInteger videoStatus;
495 @property (strong, nonatomic, readonly) NSDictionary *warmVideoDic;
500 @property (assign, nonatomic, readonly) BOOL room_assist_on;
501 @end
Definition: CCRoom.h:307