‪JMSDK iOS  ‪v2.8.0
‪API文档
JCConference.h
浏览该文件的文档.
1 //
2 // JCConference.h
3 // JCSDKOC
4 //
5 // Created by juphoon 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 kMaxSender;
25 extern NSString* __nullable const kOnlineMemberCount;
26 extern NSString* __nullable const kCreatorName;
27 extern NSString* __nullable const kIsJoined;
28 extern NSString* __nullable const kConfDuration;
29 
30 extern NSString* __nullable const JCConferenceMsgRequestScreenShare;
31 extern NSString* __nullable const JCConferenceMsgRejectScreenShare;
32 extern NSString* __nullable const JCConferenceMeetingType;
33 extern NSString* __nullable const JCConferenceMeetingTypeVideo;
34 extern NSString* __nullable const JCConferenceMeetingTypeAudio;
35 
36 extern NSString* __nullable const kLocalRecordDir;
37 //涂鸦发起
38 extern NSString* __nullable const JCConferenceDoodleOwner;
42 @interface JCConference : NSObject
43 
47 @property (nonatomic, readonly) JCConferenceState state;
48 
56 + (JCConference *__nullable)create:(JCClient *__nonnull)client mediaDevice:(JCMediaDevice *__nonnull)mediaDevice callback:(id<JCConferenceCallback>__nonnull)callback;
57 
66 + (JCConference *__nullable)create:(JCClient *__nonnull)client mediaDevice:(JCMediaDevice *__nonnull)mediaDevice doodle:(JCDoodle *__nullable)doodle callback:(id<JCConferenceCallback>__nonnull)callback;
67 
71 - (void)destroy;
72 
80 - (int)queryGoingConf:(NSString *__nonnull)confNumber;
81 
90 - (bool)start:(NSString *__nonnull)confNumber video:(bool)video config:(NSDictionary<NSString *, NSString *> *__nullable)config;
91 
97 - (bool)stop;
98 
106 - (bool)join:(NSString *__nonnull)confNumber video:(bool)video config:(NSDictionary<NSString *, NSString *> *__nullable)config;
107 
112 - (bool)leave;
113 
119 - (nullable JCConferenceInfo *)getConferenceInfo;
120 
128 - (bool)lock;
129 
139 - (int)changeChairman:(JCConferenceParticipant *__nonnull)participant;
140 
147 - (bool)kick:(NSArray<JCConferenceParticipant *> *__nonnull)participants;
148 
157 - (bool)mute:(bool)mute participant:(JCConferenceParticipant *__nonnull)participant;
158 
166 - (bool)muteAll:(bool)mute;
167 
174 - (int)delay:(int)time;
175 
181 - (int)updateParticipantExpandInfo:(NSString *__nonnull)expandInfo;
182 
188 - (bool)focusParticipant:(NSArray<NSString *> *__nonnull)userId;
189 
199 - (bool)handUpParticipant:(NSArray<NSString *> *__nonnull)userId handUp:(bool)handUp;
200 
207 - (bool)setChairman:(bool)isChairman;
208 
216 - (bool)enableUploadAudioStream:(bool)enable;
217 
224 - (bool)enableUploadVideoStream:(bool)enable;
225 
232 - (bool)enableAudioOutput:(bool)enable;
233 
234 
242 - (bool)subscribeUserAudio:(NSString *__nonnull)userId subscribe:(bool)subscribe;
243 
250 - (bool)setVideoStream:(NSString *__nonnull)stream;
251 
260 - (bool)requestVideo:(NSString *__nonnull)userId pictureSize:(JCConferencePictureSize)pictureSize;
261 
270 - (bool)requestScreenVideo:(NSString *__nonnull)screenUri pictureSize:(JCConferencePictureSize)pictureSize;
271 
277 //- (bool)enableScreenShare:(bool)enable;
278 
286 #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
287 - (bool)enableScreenShare:(bool)enable appGroupId:(NSString *__nullable)appGroupId preferredExtension:(NSString *__nullable)preferredExtension;
288 #endif
289 
290 
298 - (bool)enableScreenShare:(bool)enable videoSource:(NSString *__nonnull)videoSource config:(NSString *__nullable)config;
299 
304 - (bool)enableCdn;
305 
314 - (BOOL)enableLocalRecord:(BOOL)enable recordLocalParams:(JCConferenceRecordLocalParams*__nullable)recordLocalParams;
315 
322 -(bool)enableRemoteRecord:(bool)enable recordRemoteParams:(JCConferenceRecordRemoteParams*__nullable)recordRemoteParams;
323 
330 - (bool)enableRemoteRecordMember:(bool)enable userIdList:(NSArray <NSString*>*__nonnull)userIdList;
331 
337 - (bool)inviteToScreenShare:(NSString *__nonnull)userId;
338 
344 - (bool)rejectToScreenShare:(NSString *__nonnull)userId;
345 
351 - (bool)inviteToSpeak:(NSString *__nonnull)userId;
352 
357 - (bool)transferToAudioConf;
358 
363 - (bool)isAudioConf;
364 
373 - (bool)sendMessage:(NSString *__nonnull)type content:(NSString *__nonnull)content toUserId:(NSString *__nullable)toUserId;
374 
375 
415 - (bool)sendCommand:(NSString *__nonnull)name commandParam:(NSString *__nonnull)param;
416 
424 - (bool)setCustomProperty:(NSString *__nullable)value forKey:(NSString *__nonnull)key;
425 
431 - (nullable NSString *)getCustomProperty:(NSString *__nonnull)key;
432 
438 - (NSString *__nullable)getStatistics;
439 
448 - (bool)changeParticipantRole:(NSArray<NSString *> *__nonnull)users type:(JCConferenceParticipantType)type;
449 
458 - (bool)setParticipantRoleEx:(NSString *__nonnull)userId mask:(int)mask value:(int)value;
459 
465 - (int)invite:(NSArray<NSString *> *__nonnull)users;
466 
472 - (int)inviteEx:(NSArray<JCConferenceInviteInfo *> *__nonnull)users;
473 
482 - (int)importCandidates:(NSArray<JCConferenceCandidate *> *__nonnull)candidates info:(NSString *__nullable)info;
483 
491 - (int)rejectCandidate:(NSString *__nonnull)confNumber;
492 
499 -(int)inviteSipUser:(JCConferenceSipInviteInfo *__nonnull)sipParam;
500 
501 #pragma mark - 预约会议功能
502 
508 - (int)reserve:(JCConferenceReserveInfo *__nonnull)reserveInfo;
509 
515 - (int)cancelReserve:(NSString *__nonnull)uuid;
516 
522 - (int)editReserve:(JCConferenceReserveInfo *__nonnull)reserveInfo;
523 
533 - (int)refreshReservedConf:(long long)lastUpdateTime DEPRECATED_MSG_ATTRIBUTE("该方法即将废弃,请用refreshReservedConf代替");
534 
540 - (int)refreshReservedConf2 DEPRECATED_MSG_ATTRIBUTE("该方法即将废弃,请用refreshReservedConf代替");
541 
547 - (int)refreshReservedConf;
548 
558 - (int)queryReservedConf:(JCConferenceReserveInfoState)state page:(NSUInteger)page count:(NSUInteger)count;
559 
566 - (int)queryReservedConf:(JCConferenceReserveInfo *__nullable)reserveInfo count:(int)count;
567 
574 - (int)querySingleConf:(NSString *__nonnull)uuid;
575 
583 - (bool)startOrUpdateSubTitle:(JCConferenceSubTitleInfo *__nonnull)subTitleInfo;
584 
589 - (bool)stopSubTitle;
590 
595 - (bool)startDoodle;
596 
601 - (bool)stopDoodle;
602 
608 - (bool)setLocalRatio:(float)ratio;
609 
610 @end
NSString *__nullable const JCConferenceDoodleOwner
NSString *__nullable const JCConferenceMsgRequestScreenShare
NSString *__nullable const JCConferenceMeetingTypeVideo
NSString *__nullable const JCConferenceMeetingTypeAudio
NSString *__nullable const kMaxSender
NSString *__nullable const kConfDuration
NSString *__nullable const kOnlineMemberCount
NSString *__nullable const JCConferenceMsgRejectScreenShare
NSString *__nullable const kIsJoined
NSString *__nullable const kLocalRecordDir
NSString *__nullable const JCConferenceMeetingType
NSString *__nullable const kCreatorName
JCConferenceState
Definition: JCConferenceConstants.h:83
JCConferencePictureSize
Definition: JCConferenceParticipant.h:28
JCConferenceParticipantType
Definition: JCConferenceParticipant.h:14
JCConferenceReserveInfoState
Definition: JCConferenceReserveInfo.h:26
JCClient 为全局基础类,主要负责登陆登出管理及账户属性存储
Definition: JCClient.h:16
会控模块类
Definition: JCConference.h:43
bool isAudioConf()
是否音频会议
"该方法即将废弃,请用refreshReservedConf代替" DEPRECATED_MSG_ATTRIBUTE()
获取预约会议列表,结果回调 onRefreshReservedConfResult。 第一次调用获取所有预约会议列表,下一次调用该接口刷新时,在上一次的刷新时间基础上获取该时间点到当前时间点这段时间内变...
int refreshReservedConf()
获取预约会议列表,结果回调 onRefreshReservedConfResult。 第一次调用获取所有预约会议列表,下一次调用该接口刷新时,在上一次的刷新时间基础上获取该时间点到当前时间点这段时间内变...
bool transferToAudioConf()
转语音会议
bool enableCdn()
开关Cdn推流,内部根据状态决定是否开启
bool stop()
结束会议,主持人才能调用接口结束会议,结果回调 onConferenceLeave
NSString *__nullable getStatistics()
获得统计信息,以Json字符串形式返回,其中包含 "Config", "Network","Transport" 和 "Participants" 4个节点
bool stopDoodle()
关闭涂鸦
void destroy()
销毁 JCConference 对象
bool startDoodle()
开启涂鸦
bool lock()
锁定会议/解除锁定,只有主持人才能调用改接口 锁定后无法通过会议号加,会议被锁定后必须再次调用该接口来解锁。 操作结果(成功或失败)通过 onLockResult 回调。 操作成功后会议中所有成员收到 ...
bool stopSubTitle()
关闭会议字幕
JCConferenceState state
Definition: JCConference.h:47
bool leave()
离开会议,当前只支持同时加入一个会议
nullable JCConferenceInfo * getConferenceInfo()
获取 JCConferenceInfo 对象
会议对象
Definition: JCConferenceInfo.h:42
会议成员
Definition: JCConferenceParticipant.h:108
本地录制参数
Definition: JCConferenceRecordLocalParams.h:16
远程录制参数
Definition: JCConferenceRecordRemoteParams.h:19
预约信息
Definition: JCConferenceReserveInfo.h:75
邀请sip用户入会的相关参数
Definition: JCConferenceSipInviteInfo.h:15
会议字幕参数
Definition: JCConferenceSubTitleInfo.h:16
涂鸦类
Definition: JCDoodle.h:20
设备模块
Definition: JCMediaDevice.h:112