My Project
CCStreamer.h
1 
13 #import <Foundation/Foundation.h>
14 #import <AVFoundation/AVFoundation.h>
15 #import <UIKit/UIKit.h>
16 #import <CCClassRoomBasic/CCClassRoomBasic.h>
17 #import "CCRoom.h"
18 #import "CCUser.h"
23 @interface CCStreamer : NSObject
30 +(instancetype)sharedStreamer;
31 
35 - (void)onStreamStatsListener:(CCComletionBlock)completion;
36 
45 - (BOOL)setServerDomain:(NSString *)domain area:(NSString *)area;
46 
47 #pragma mark - 相机相关
48 
55 - (BOOL)setCameraType:(AVCaptureDevicePosition)pos;
56 
63 - (void)startPreview:(CCComletionBlock)completion;
64 
70 - (BOOL)stopPreview;
71 #pragma mark - 业务流程(登录、加入房间、退出)
72 
84 - (BOOL)loginWithRoomID:(NSString *)roomID
85  userID:(NSString *)userID
86  role:(CCRole)role
87  password:(NSString *)password
88  nickName:(NSString *)name
89  config:(CCEncodeConfig *)config
90  videoOri:(CCVideoOriMode)isLandSpace
91  areaCode:(NSString *)areaCode
92  completion:(CCComletionBlock)completion;
93 
101 - (BOOL)joinRoom:(CCComletionBlock)completion;
102 
108 - (BOOL)leaveRoom:(CCComletionBlock)completion;
109 
115 - (BOOL)startPublish:(CCComletionBlock)completion;
123 - (BOOL)startPublishWithRecord:(BOOL)record completion:(CCComletionBlock)completion;
129 - (BOOL)stopPublish:(CCComletionBlock)completion;
135 - (BOOL)publish:(CCComletionBlock)completion;
136 
142 - (BOOL)unPublish:(CCComletionBlock)completion;
150 - (BOOL)kickUserFromRoom:(NSString *)userID;
151 
159 - (BOOL)stopLive:(CCComletionBlock)completion;
160 
161 #pragma mark - 公告
162 
170 - (BOOL)releaseAnnouncement:(NSString *)message completion:(CCComletionBlock)completion;
171 
179 - (BOOL)removeAnnouncement:(CCComletionBlock)completion;
180 
181 #pragma mark - 禁言
182 
190 - (BOOL)gagUser:(NSString *)userID;
191 
199 - (BOOL)recoveGagUser:(NSString *)userID;
200 
207 - (BOOL)authUserDraw:(NSString *)userID;
208 
215 - (BOOL)cancleAuthUserDraw:(NSString *)userID;
216 
217 
225 - (BOOL)authUserAssistant:(NSString *)userID;
226 
233 - (BOOL)cancleAuthUserAssistant:(NSString *)userID;
234 
241 - (BOOL)getAudienceChatStatus:(NSString *)userID;
242 
248 - (BOOL)handup;
249 
255 - (BOOL)cancleHandup;
256 #pragma mark - 点名相关
257 
263 - (BOOL)startNamed:(NSTimeInterval)duration;
264 
270 - (NSDictionary *)getNamedInfo;
271 
277 - (NSArray *)getStudentNamedList;
283 - (BOOL)studentNamed;
284 
285 #pragma mark - 连麦
286 
291 - (BOOL)requestLianMai:(CCComletionBlock)completion;
292 
298 - (BOOL)cancleLianMai:(CCComletionBlock)completion;
299 
305 - (BOOL)stopLianMai:(CCComletionBlock)completion;
306 
312 - (NSInteger)getLianMaiNum;
313 
321 - (BOOL)kickUserFromLianmai:(NSString *)userID completion:(CCComletionBlock)completion;
322 
329 - (BOOL)inviteUserLianMai:(NSString *)userID completion:(CCComletionBlock)completion;
330 
338 - (BOOL)cancleInviteUserLianMai:(NSString *)userID completion:(CCComletionBlock)completion;
346 - (BOOL)certainHandup:(NSString *)userID completion:(CCComletionBlock)completion;
347 
354 - (BOOL)refuseTeacherInvite:(CCComletionBlock)completion;
355 
362 - (BOOL)acceptTeacherInvite:(CCComletionBlock)completion;
363 
369 - (BOOL)getDocHistory:(CCComletionBlock)completion;
370 
377 - (BOOL)getRoomServerWithUserID:(NSString *)userId completion:(CCComletionBlock)completion;
378 
391 - (BOOL)getRelatedRoomDocs:(NSString *)roomID
392  userID:(NSString *)userID
393  docID:(NSString *)docID
394  docName:(NSString *)docName
395  pageNumber:(int)page
396  pageSize:(int)size
397  completion:(CCComletionBlock)completion;
398 
408 - (BOOL)unReleatedDoc:(NSString *)docID roomID:(NSString *)roomID userID:(NSString *)userID completion:(CCComletionBlock)completion;
409 
416 - (BOOL)docPageChange:(NSDictionary *)info;
417 #pragma mark - 流相关
418 
425 - (BOOL)addExternalOutput:(NSString*)url completion:(CCComletionBlock)completion;
426 
434 - (BOOL)removeExternalOutput:(NSString *)url completion:(CCComletionBlock)completion;
435 
444 - (BOOL)setVideoOpened:(BOOL)opened userID:(NSString *)userID;
445 
454 - (BOOL)setAudioOpened:(BOOL)opened userID:(NSString *)userID;
455 
464 - (BOOL)subcribeStream:(NSString *)streamID role:(CCRole)role qualityLevel:(int)level completion:(CCComletionBlock)completion;
465 
473 - (BOOL)unsubscribeStream:(NSString *)streamID completion:(CCComletionBlock)completion;
474 
480 - (NSArray *)getAllEnableSubStreamIDs;
481 
487 - (BOOL)setRegion:(NSString *)streamID completion:(CCComletionBlock)completion;
488 
489 #pragma mark - 房间信息获取及修改
490 
497 - (BOOL)getRoomDescWithRoonID:(NSString *)roomID completion:(CCComletionBlock)completion;
498 
505 - (BOOL)changeRoomClassType:(CCClassType)type completion:(CCComletionBlock)completion;
506 
514 - (BOOL)changeRoomVideoMode:(CCVideoMode)videoMode completion:(CCComletionBlock)completion;
515 
524 - (BOOL)changeRoomName:(NSString *)name completion:(CCComletionBlock)completion;
525 
534 - (BOOL)changeRoomDetail:(NSString *)detail completion:(CCComletionBlock)completion;
535 
543 - (BOOL)changeRoomTemplateMode:(CCRoomTemplate)tem completion:(CCComletionBlock)completion;
544 
552 - (BOOL)changeRoomTeacherBitrate:(CCUserBitrate)bitrate completion:(CCComletionBlock)completion;
553 
561 - (BOOL)changeRoomStudentBitrate:(CCUserBitrate)bitrate completion:(CCComletionBlock)completion;
562 
569 - (BOOL)changeMainStreamInSigleTemplate:(NSString *)userID completion:(CCComletionBlock)completion;
570 
578 - (BOOL)changeRoomAudioState:(BOOL )audioState completion:(CCComletionBlock)completion;
579 
589 - (BOOL)changeRoomRotate:(CCRotateType)type time:(float)time completion:(CCComletionBlock)completion;
590 
599 - (BOOL)rotateLockUser:(NSString *)userID completion:(CCComletionBlock)completion;
600 
609 - (BOOL)rotateUnLockUser:(NSString *)userID completion:(CCComletionBlock)completion;
610 
617 - (BOOL)gagAll:(CCComletionBlock)completion;
625 - (BOOL)changeRoomAllKickDownMai:(CCComletionBlock)completion;
626 
627 
634 - (BOOL)recoverGagAll:(CCComletionBlock)completion;
635 #pragma mark -
636 
642 + (void)setLogState:(BOOL)state;
643 
648 - (BOOL)sendMsg:(NSString *)message;
649 
655 - (void)sendDrawData:(NSDictionary *)info;
661 - (BOOL)sendAnimationChange:(NSDictionary *)info;
662 
667 - (BOOL)updateUserCount;
668 
674 - (CCRoom *)getRoomInfo;
675 
685 - (BOOL)sendVoteSelected:(NSArray *)multAns singleAns:(NSInteger)singleAns voteID:(NSString *)voteID publisherID:(NSString *)publisherID;
686 
695 - (BOOL)sendBrainReply:(NSString *)Id title:(NSString *)title text:(NSString *)content;
696 
705 - (BOOL)sendVoteTickedReply:(NSString *)Id title:(NSString *)title choice:(NSArray *)choices;
706 
715 - (BOOL)rewardUid:(NSString *)uid uName:(NSString *)uName type:(NSString *)actionType sender:(NSString *)sid;
716 
717 #pragma mark - 1.3
718 
724 - (BOOL)getPicUploadToken:(CCComletionBlock)completion;
725 
732 - (BOOL)sendPic:(NSString *)url;
733 
739 - (AVCaptureSession *)getCaptureSession;
740 
745 - (void)stopSession;
746 
751 - (void)startSession;
759 - (CCUser *)getUSerInfoWithUserID:(NSString *)userID;
760 
768 - (BOOL)getConnectionStats:(NSString *)stream completion:(CCComletionBlock)completion;
769 
773 - (BOOL)getLiveStatus:(CCComletionBlock)completion;
774 
778 - (void)realsesAllStream;
779 
780 #pragma mark -- 助教上下麦
781 
786 - (void)assistLM:(BOOL)published completion:(CCComletionBlock)completion;
787 
793 - (void)assistDM:(CCUser *)user completion:(CCComletionBlock)completion;
794 
795 #pragma mark -- 讲师下麦
796 
803 - (void)presentDM:(CCUser *)user byUser:(NSString *)userId completion:(CCComletionBlock)completion;
804 
805 #pragma mark -- 老师、助教预上麦
806 
812 - (void)rolePreLM:(CCUser *)user completion:(CCComletionBlock)completion;
813 @end
instancetype sharedStreamer()
BOOL cancleHandup()
Definition: CCUser.h:22
BOOL updateUserCount()
BOOL stopPreview()
AVCaptureSession * getCaptureSession()
Definition: CCRoom.h:307
NSArray * getAllEnableSubStreamIDs()
void realsesAllStream()
CCRoom * getRoomInfo()
void startSession()
Definition: CCStreamer.h:23
BOOL studentNamed()
NSInteger getLianMaiNum()
NSDictionary * getNamedInfo()
void stopSession()
NSArray * getStudentNamedList()