1 //
2 // JCCall.h
3 // JCSDK-OC
4 //
5 // Created by maikireton on 2017/8/11.
6 // Copyright © 2017年 juphoon. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "JCCallCallback.h"
11 #import "JCCallItem.h"
12 
22 @interface JCCallParam : NSObject
29 @property (nonatomic) NSString * __nullable extraParam;
36 @property (nonatomic) NSString * __nullable ticket;
43 + (instancetype __nullable )callParamWithExtraParam:(NSString *__nullable)extraParam ticket:(NSString *__nullable)ticket;
44 
45 @end
46 
50 @interface JCCallMediaConfig : NSObject
51 
57 @property (nonatomic, strong) NSString* __nonnull audioEnableCodecs;
66 @property (nonatomic) JCCallAecMode audioAecMode;
72 @property (nonatomic) bool audioArsEnable;
76 @property (nonatomic) int audioArsBitrateMin;
80 @property (nonatomic) int audioArsBitrateMax;
89 @property (nonatomic) bool audioRed;
98 @property (nonatomic) bool audioRxAnr;
109 @property (nonatomic) bool audioRtx;
118 @property (nonatomic) bool audioRxAgc;
124 @property (nonatomic) bool audioQosAec;
135 @property (nonatomic) bool audioQosAnr;
141 @property (nonatomic) bool audioQosAgc;
147 @property (nonatomic) bool audioQosVad;
151 @property (nonatomic) int audioPacketTime;
157 @property (nonatomic) int audioQosAgcGain;
158 
162 @property (nonatomic, strong) NSString* __nonnull videoEnableCodecs;
166 @property (nonatomic) int videoResolutionRecvWidth;
170 @property (nonatomic) int videoResolutionRecvHeight;
174 @property (nonatomic) int videoResolutionSendWidth;
178 @property (nonatomic) int videoResolutionSendHeight;
182 @property (nonatomic) int videoBitrate;
186 @property (nonatomic) int videoSendFramerate;
192 @property (nonatomic) bool videoArsEnable;
196 @property (nonatomic) int videoArsBitrateMin;
200 @property (nonatomic) int videoArsBitrateMax;
204 @property (nonatomic) int videoArsFramerateMin;
208 @property (nonatomic) int videoArsFramerateMax;
217 @property (nonatomic) bool videoRedFec;
218 
231 @property (nonatomic) bool videoRecvFullScreen;
240 @property (nonatomic) bool videoSmallNalu;
246 @property (nonatomic) bool videoResolutionControl;
247 
253 @property (nonatomic) int videoKeyPeriod;
254 
260 @property (nonatomic) int heartbeatTime;
261 
266 -(NSString* __nonnull)toString;
267 
280 +(JCCallMediaConfig* __nonnull)generateByMode:(JCCallMediaConfigMode)mode;
281 
282 @end
283 
289 @interface JCCall : NSObject
290 
296 @property (nonatomic, readonly, strong) NSArray* __nullable callItems;
297 
303 @property (nonatomic) int maxCallNum;
304 
313 @property (nonatomic) bool termWhenNetDisconnected;
314 
321 @property (nonatomic, strong) JCCallMediaConfig* __nonnull mediaConfig;
322 
338 +(JCCall* __nullable)create:(JCClient* __nonnull)client mediaDevice:(JCMediaDevice* __nonnull)mediaDevice callback:(id<JCCallCallback> __nonnull)callback;
339 
347 +(void)destroy;
348 
370 -(bool)call:(NSString* __nonnull)userId video:(bool)video callParam:(JCCallParam * __nullable)callParam;
371 
384 -(bool)term:(JCCallItem* __nonnull)item reason:(JCCallReason)reason description:(NSString* __nullable)description;
385 
401 -(bool)answer:(JCCallItem* __nonnull)item video:(bool)video;
402 
419 -(bool)mute:(JCCallItem* __nonnull)item;
420 
434 -(bool)muteMicrophone:(JCCallItem* __nonnull)item mute:(bool)mute;
435 
449 -(bool)muteSpeaker:(JCCallItem* __nonnull)item mute:(bool)mute;
450 
467 -(bool)hold:(JCCallItem* __nonnull)item;
468 
486 -(bool)audioRecord:(JCCallItem* __nonnull)item enable:(bool)enable filePath:(NSString* __nullable)filePath;
487 
513 -(bool)videoRecord:(JCCallItem* __nonnull)item enable:(bool)enable remote:(bool)remote width:(int)width height:(int)height filePath:(NSString* __nullable)filePath bothAudio:(bool)bothAudio;
514 
526 -(bool)becomeActive:(JCCallItem* __nonnull)item;
527 
544 -(bool)enableUploadVideoStream:(JCCallItem* __nonnull)item;
545 
556 -(bool)sendMessage:(JCCallItem * __nonnull)item type:(NSString * __nonnull)type content:(NSString * __nonnull)content;
557 
565 -(NSString * __nullable)getStatistics;
566 
577 -(JCCallItem* __nullable)getActiveCallItem;
578 
588 -(bool)sendDtmf:(JCCallItem *_Nonnull)item value:(JCCallDtmf)value;
589 
590 @end
591 
最后更新时间: 11/9/2021, 5:34:32 PM