‪JMSDK iOS  ‪v2.4.0
‪API文档
JCConference.h
浏览该文件的文档.
1 //
2 // JCConference.h
3 // JCSDKOC
4 //
5 // Created by 沈世达 on 2018/4/2.
6 // Copyright © 2018年 juphoon. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import <JMSDK/JCConferenceCallback.h>
11 #import <JMSDK/JCConferenceConstants.h>
12 #import <JMSDK/JCConferenceInfo.h>
13 #import <JMSDK/JCConferenceParticipant.h>
14 #import <JMSDK/JCConferenceReserveInfo.h>
15 #import <JMSDK/JCConferenceInviteInfo.h>
16 #import <JMSDK/JCConferenceCommandInfo.h>
17 #import <JMSDK/JCConferenceQueryConfResult.h>
18 #import <JMSDK/JCConferenceCandidate.h>
19 #import <JMSDK/JCConferenceSipInviteInfo.h>
20 #import <JMSDK/JCConferenceRecordRemoteParams.h>
21 #import <JMSDK/JCConferenceRecordLocalParams.h>
22 #import <JMSDK/JCConferenceSubTitleInfo.h>
23 
24 extern NSString* __nullable const MaxsenderKey;
25 extern NSString* __nullable const OnlineMemberCountKey;
26 extern NSString* __nullable const CreatorName;
27 extern NSString* __nullable const IsJoinedKey;
28 
29 extern NSString* __nullable const JCConferenceMsgRequestScreenShare;
30 extern NSString* __nullable const JCConferenceMsgRejectScreenShare;
31 extern NSString* __nullable const JCConferenceMeetingType;
32 extern NSString* __nullable const JCConferenceMeetingTypeVideo;
33 extern NSString* __nullable const JCConferenceMeetingTypeAudio;
34 
35 extern NSString* __nullable const kLocalRecordDir;
36 //涂鸦发起
37 extern NSString* __nullable const JCConferenceDoodleOwner;
41 @interface JCConference : NSObject
42 
46 @property (nonatomic, readonly) JCConferenceState state;
47 
55 + (JCConference *__nullable)create:(JCClient *__nonnull)client mediaDevice:(JCMediaDevice *__nonnull)mediaDevice callback:(id<JCConferenceCallback>__nonnull)callback;
56 
65 + (JCConference *__nullable)create:(JCClient *__nonnull)client mediaDevice:(JCMediaDevice *__nonnull)mediaDevice doodle:(JCDoodle *__nullable)doodle callback:(id<JCConferenceCallback>__nonnull)callback;
66 
70 - (void)destroy;
71 
79 - (int)queryGoingConf:(NSString *__nonnull)confNumber;
80 
89 - (bool)start:(NSString *__nonnull)confNumber video:(bool)video config:(NSDictionary<NSString *, NSString *> *__nullable)config;
90 
96 - (bool)stop;
97 
105 - (bool)join:(NSString *__nonnull)confNumber video:(bool)video config:(NSDictionary<NSString *, NSString *> *__nullable)config;
106 
111 - (bool)leave;
112 
118 - (nullable JCConferenceInfo *)getConferenceInfo;
119 
127 - (bool)lock;
128 
138 - (int)changeChairman:(JCConferenceParticipant *__nonnull)participant;
139 
146 - (bool)kick:(NSArray<JCConferenceParticipant *> *__nonnull)participants;
147 
156 - (bool)mute:(bool)mute participant:(JCConferenceParticipant *__nonnull)participant;
157 
165 - (bool)muteAll:(bool)mute;
166 
173 - (int)delay:(int)time;
174 
180 - (int)updateParticipantExpandInfo:(NSString *__nonnull)expandInfo;
181 
187 - (bool)focusParticipant:(NSArray<NSString *> *__nonnull)userId;
188 
198 - (bool)handUpParticipant:(NSArray<NSString *> *__nonnull)userId handUp:(bool)handUp;
199 
206 - (bool)setChairman:(bool)isChairman;
207 
215 - (bool)enableUploadAudioStream:(bool)enable;
216 
223 - (bool)enableUploadVideoStream:(bool)enable;
224 
231 - (bool)enableAudioOutput:(bool)enable;
232 
233 
241 - (bool)subscribeUserAudio:(NSString *__nonnull)userId subscribe:(bool)subscribe;
242 
249 - (bool)setVideoStream:(NSString *__nonnull)stream;
250 
259 - (bool)requestVideo:(NSString *__nonnull)userId pictureSize:(JCConferencePictureSize)pictureSize;
260 
269 - (bool)requestScreenVideo:(NSString *__nonnull)screenUri pictureSize:(JCConferencePictureSize)pictureSize;
270 
276 //- (bool)enableScreenShare:(bool)enable;
277 
285 #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
286 - (bool)enableScreenShare:(bool)enable appGroupId:(NSString *__nullable)appGroupId preferredExtension:(NSString *__nullable)preferredExtension;
287 #endif
288 
289 
297 - (bool)enableScreenShare:(bool)enable videoSource:(NSString *__nonnull)videoSource config:(NSString *__nullable)config;
298 
303 - (bool)enableCdn;
304 
313 - (BOOL)enableLocalRecord:(BOOL)enable recordLocalParams:(JCConferenceRecordLocalParams*__nullable)recordLocalParams;
314 
321 -(bool)enableRemoteRecord:(bool)enable recordRemoteParams:(JCConferenceRecordRemoteParams*__nullable)recordRemoteParams;
322 
328 - (bool)inviteToScreenShare:(NSString *__nonnull)userId;
329 
335 - (bool)rejectToScreenShare:(NSString *__nonnull)userId;
336 
342 - (bool)inviteToSpeak:(NSString *__nonnull)userId;
343 
348 - (bool)transferToAudioConf;
349 
354 - (bool)isAudioConf;
355 
364 - (bool)sendMessage:(NSString *__nonnull)type content:(NSString *__nonnull)content toUserId:(NSString *__nullable)toUserId;
365 
366 
406 - (bool)sendCommand:(NSString *__nonnull)name commandParam:(NSString *__nonnull)param;
407 
415 - (bool)setCustomProperty:(NSString *__nullable)value forKey:(NSString *__nonnull)key;
416 
422 - (nullable NSString *)getCustomProperty:(NSString *__nonnull)key;
423 
429 - (NSString *__nullable)getStatistics;
430 
439 - (bool)changeParticipantRole:(NSArray<NSString *> *__nonnull)users type:(JCConferenceParticipantType)type;
440 
449 - (bool)setParticipantRoleEx:(NSString *__nonnull)userId mask:(int)mask value:(int)value;
450 
456 - (int)invite:(NSArray<NSString *> *__nonnull)users;
457 
463 - (int)inviteEx:(NSArray<JCConferenceInviteInfo *> *__nonnull)users;
464 
473 - (int)importCandidates:(NSArray<JCConferenceCandidate *> *__nonnull)candidates info:(NSString *__nullable)info;
474 
482 - (int)rejectCandidate:(NSString *__nonnull)confNumber;
483 
490 -(int)inviteSipUser:(JCConferenceSipInviteInfo *__nonnull)sipParam;
491 
492 #pragma mark - 预约会议功能
493 
499 - (int)reserve:(JCConferenceReserveInfo *__nonnull)reserveInfo;
500 
506 - (int)cancelReserve:(NSString *__nonnull)uuid;
507 
513 - (int)editReserve:(JCConferenceReserveInfo *__nonnull)reserveInfo;
514 
524 - (int)refreshReservedConf:(long long)lastUpdateTime DEPRECATED_MSG_ATTRIBUTE("该方法即将废弃,请用refreshReservedConf代替");
525 
531 - (int)refreshReservedConf2 DEPRECATED_MSG_ATTRIBUTE("该方法即将废弃,请用refreshReservedConf代替");
532 
538 - (int)refreshReservedConf;
539 
549 - (int)queryReservedConf:(JCConferenceReserveInfoState)state page:(NSUInteger)page count:(NSUInteger)count;
550 
557 - (int)querySingleConf:(NSString *__nonnull)uuid;
558 
566 - (bool)startOrUpdateSubTitle:(JCConferenceSubTitleInfo *__nonnull)subTitleInfo;
567 
572 - (bool)stopSubTitle;
573 
578 - (bool)startDoodle;
579 
584 - (bool)stopDoodle;
585 
586 @end
JCConferencePictureSize
JCConferencePictureSize
Definition: JCConferenceParticipant.h:28
JCConferenceSipInviteInfo
邀请sip用户入会的相关参数
Definition: JCConferenceSipInviteInfo.h:15
JCConference
会控模块类
Definition: JCConference.h:42
JCConferenceMeetingTypeAudio
NSString *__nullable const JCConferenceMeetingTypeAudio
JCConference::state
JCConferenceState state
Definition: JCConference.h:46
JCConferenceParticipant
会议成员
Definition: JCConferenceParticipant.h:109
JCConferenceDoodleOwner
NSString *__nullable const JCConferenceDoodleOwner
JCConferenceParticipantType
JCConferenceParticipantType
Definition: JCConferenceParticipant.h:14
OnlineMemberCountKey
NSString *__nullable const OnlineMemberCountKey
CreatorName
NSString *__nullable const CreatorName
JCMediaDevice
设备模块
Definition: JCMediaDevice.h:112
JCConferenceInfo
会议对象
Definition: JCConferenceInfo.h:41
kLocalRecordDir
NSString *__nullable const kLocalRecordDir
MaxsenderKey
NSString *__nullable const MaxsenderKey
-[JCConference transferToAudioConf]
bool transferToAudioConf()
转语音会议
JCDoodle
涂鸦类
Definition: JCDoodle.h:20
JCConferenceReserveInfo
预约信息
Definition: JCConferenceReserveInfo.h:74
-[JCConference refreshReservedConf]
int refreshReservedConf()
获取预约会议列表,结果回调 onRefreshReservedConfResult。 第一次调用获取所有预约会议列表,下一次调用该接口刷新时,在上一次的刷新时间基础上获取该时间点到当前时间点这段时间内变...
JCConferenceMeetingTypeVideo
NSString *__nullable const JCConferenceMeetingTypeVideo
JCConferenceRecordRemoteParams
远程录制参数
Definition: JCConferenceRecordRemoteParams.h:19
-[JCConference destroy]
void destroy()
销毁 JCConference 对象
JCConferenceMeetingType
NSString *__nullable const JCConferenceMeetingType
JCConferenceSubTitleInfo
会议字幕参数
Definition: JCConferenceSubTitleInfo.h:16
-[JCConference startDoodle]
bool startDoodle()
开启涂鸦
-[JCConference stopDoodle]
bool stopDoodle()
关闭涂鸦
-[JCConference getStatistics]
NSString *__nullable getStatistics()
获得统计信息,以Json字符串形式返回,其中包含 "Config", "Network","Transport" 和 "Participants" 4个节点
-[JCConference DEPRECATED_MSG_ATTRIBUTE]
"该方法即将废弃,请用refreshReservedConf代替" DEPRECATED_MSG_ATTRIBUTE()
获取预约会议列表,结果回调 onRefreshReservedConfResult。 第一次调用获取所有预约会议列表,下一次调用该接口刷新时,在上一次的刷新时间基础上获取该时间点到当前时间点这段时间内变...
-[JCConference stop]
bool stop()
结束会议,主持人才能调用接口结束会议,结果回调 onConferenceLeave
-[JCConference lock]
bool lock()
锁定会议/解除锁定,只有主持人才能调用改接口 锁定后无法通过会议号加,会议被锁定后必须再次调用该接口来解锁。 操作结果(成功或失败)通过 onLockResult 回调。 操作成功后会议中所有成员收到 ...
-[JCConference stopSubTitle]
bool stopSubTitle()
关闭会议字幕
IsJoinedKey
NSString *__nullable const IsJoinedKey
-[JCConference isAudioConf]
bool isAudioConf()
是否音频会议
-[JCConference leave]
bool leave()
离开会议,当前只支持同时加入一个会议
JCConferenceMsgRejectScreenShare
NSString *__nullable const JCConferenceMsgRejectScreenShare
JCConferenceReserveInfoState
JCConferenceReserveInfoState
Definition: JCConferenceReserveInfo.h:25
-[JCConference getConferenceInfo]
nullable JCConferenceInfo * getConferenceInfo()
获取 JCConferenceInfo 对象
JCConferenceRecordLocalParams
本地录制参数
Definition: JCConferenceRecordLocalParams.h:16
JCClient
JCClient 为全局基础类,主要负责登陆登出管理及账户属性存储
Definition: JCClient.h:16
JCConferenceMsgRequestScreenShare
NSString *__nullable const JCConferenceMsgRequestScreenShare
-[JCConference enableCdn]
bool enableCdn()
开关Cdn推流,内部根据状态决定是否开启
JCConferenceState
JCConferenceState
Definition: JCConferenceConstants.h:79