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;
37 
43 @property (nonatomic) bool toSip;
44 
50 @property (nonatomic) bool earlyMediaEnable;
57 + (instancetype __nullable )callParamWithExtraParam:(NSString *__nullable)extraParam ticket:(NSString *__nullable)ticket;
58 
59 @end
60 
64 @interface JCCallMediaConfig : NSObject
65 
71 @property (nonatomic, strong) NSString* __nonnull audioEnableCodecs;
80 @property (nonatomic) JCCallAecMode audioAecMode;
86 @property (nonatomic) bool audioArsEnable;
90 @property (nonatomic) int audioArsBitrateMin;
94 @property (nonatomic) int audioArsBitrateMax;
103 @property (nonatomic) bool audioRed;
112 @property (nonatomic) bool audioRxAnr;
123 @property (nonatomic) bool audioRtx;
132 @property (nonatomic) bool audioRxAgc;
138 @property (nonatomic) bool audioQosAec;
149 @property (nonatomic) bool audioQosAnr;
155 @property (nonatomic) bool audioQosAgc;
161 @property (nonatomic) bool audioQosVad;
165 @property (nonatomic) int audioPacketTime;
171 @property (nonatomic) int audioQosAgcGain;
172 
176 @property (nonatomic, strong) NSString* __nonnull videoEnableCodecs;
180 @property (nonatomic) int videoResolutionRecvWidth;
184 @property (nonatomic) int videoResolutionRecvHeight;
188 @property (nonatomic) int videoResolutionSendWidth;
192 @property (nonatomic) int videoResolutionSendHeight;
196 @property (nonatomic) int videoBitrate;
200 @property (nonatomic) int videoSendFramerate;
206 @property (nonatomic) bool videoArsEnable;
210 @property (nonatomic) int videoArsBitrateMin;
214 @property (nonatomic) int videoArsBitrateMax;
218 @property (nonatomic) int videoArsFramerateMin;
222 @property (nonatomic) int videoArsFramerateMax;
231 @property (nonatomic) bool videoRedFec;
232 
245 @property (nonatomic) bool videoRecvFullScreen;
254 @property (nonatomic) bool videoSmallNalu;
260 @property (nonatomic) bool videoResolutionControl;
261 
267 @property (nonatomic) int videoKeyPeriod;
268 
274 @property (nonatomic) int heartbeatTime;
275 
280 -(NSString* __nonnull)toString;
281 
294 +(JCCallMediaConfig* __nonnull)generateByMode:(JCCallMediaConfigMode)mode;
295 
296 @end
297 
303 @interface JCCall : NSObject
304 
310 @property (nonatomic, readonly, strong) NSArray* __nullable callItems;
311 
317 @property (nonatomic) int maxCallNum;
318 
327 @property (nonatomic) bool termWhenNetDisconnected;
328 
335 @property (nonatomic, strong) JCCallMediaConfig* __nonnull mediaConfig;
336 
352 +(JCCall* __nullable)create:(JCClient* __nonnull)client mediaDevice:(JCMediaDevice* __nonnull)mediaDevice callback:(id<JCCallCallback> __nonnull)callback;
353 
361 +(void)destroy;
362 
384 -(bool)call:(NSString* __nonnull)userId video:(bool)video callParam:(JCCallParam * __nullable)callParam;
385 
398 -(bool)term:(JCCallItem* __nonnull)item reason:(JCCallReason)reason description:(NSString* __nullable)description;
399 
415 -(bool)answer:(JCCallItem* __nonnull)item video:(bool)video;
416 
433 -(bool)mute:(JCCallItem* __nonnull)item;
434 
448 -(bool)muteMicrophone:(JCCallItem* __nonnull)item mute:(bool)mute;
449 
463 -(bool)muteSpeaker:(JCCallItem* __nonnull)item mute:(bool)mute;
464 
481 -(bool)hold:(JCCallItem* __nonnull)item;
482 
500 -(bool)audioRecord:(JCCallItem* __nonnull)item enable:(bool)enable filePath:(NSString* __nullable)filePath;
501 
529 -(bool)videoRecord:(JCCallItem* __nonnull)item enable:(bool)enable remote:(bool)remote width:(int)width height:(int)height filePath:(NSString* __nullable)filePath bothAudio:(bool)bothAudio keyFrame:(int)keyFrame;
530 
542 -(bool)becomeActive:(JCCallItem* __nonnull)item;
543 
560 -(bool)enableUploadVideoStream:(JCCallItem* __nonnull)item;
561 
572 -(bool)sendMessage:(JCCallItem * __nonnull)item type:(NSString * __nonnull)type content:(NSString * __nonnull)content;
573 
581 -(NSString * __nullable)getStatistics;
582 
593 -(JCCallItem* __nullable)getActiveCallItem;
594 
604 -(bool)sendDtmf:(JCCallItem *_Nonnull)item value:(JCCallDtmf)value;
605 
606 @end
607 
最后更新时间: 2023/4/28 11:17:11