JCSDK Objective-C API Reference for iOS/macOS  2.5.1
JCMediaChannel.h
1 //
2 // JCMediaChannel.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 "JCMediaChannelCallback.h"
11 #import "JCMediaChannelParticipant.h"
12 #import "JCMediaChannelConstants.h"
13 #import "JCMediaChannelQueryInfo.h"
14 
24 @interface JCMediaChannelSipParamExtra : NSObject
30 @property (nonatomic) bool sipUri;
36 @property (nonatomic) bool route;
40 @property (nonatomic, strong) NSString* __nullable displayName;
46 @property (nonatomic) bool mcu;
52 @property (nonatomic) bool video;
56 @property (nonatomic, strong) NSString* __nullable dtmfPassowrd;
62 -(NSString* __nonnull)toParamString;
63 
64 @end
65 
69 @interface JCMediaChannelSipParam : NSObject
70 
74 @property (nonatomic, strong) NSString* __nullable callerNumber;
78 @property (nonatomic, strong) NSString* __nullable coreNetwork;
82 @property (nonatomic) JCMediaChannelSipParamExtra* __nullable extra;
83 
84 @end
85 
89 @interface JCMediaChannelRecordParam : NSObject
90 
96 @property (nonatomic, strong) NSString* __nonnull recordString;
97 
110 +(NSString* __nonnull)buildQiniuRecordParam:(BOOL)video bucketName:(NSString* __nonnull)bucketName secretKey:(NSString* __nonnull)secretKey accessKey:(NSString* __nonnull)accessKey fileName:(NSString* __nonnull)fileName;
111 
125 +(NSString* __nonnull)buildAliossRecordParam:(BOOL)video bucketName:(NSString* __nonnull)bucketName secretKey:(NSString* __nonnull)secretKey accessKey:(NSString* __nonnull)accessKey endpoint:(NSString* __nonnull)endpoint fileName:(NSString* __nonnull)fileName;
126 
127 @end
128 
132 @interface JCMediaChannelJoinParam : NSObject
133 
137 @property (nonatomic) int capacity;
143 @property (nonatomic, strong) NSString* __nullable cdn;
149 @property (nonatomic, strong) JCMediaChannelRecordParam * __nullable record;
153 @property (nonatomic, strong) NSString* __nonnull password;
159 @property (nonatomic) bool smooth;
166 @property (nonatomic) JCMediaChannelMaxResolution maxResolution;
172 @property (nonatomic) bool uriMode;
176 @property (nonatomic) int heartbeatTime;
180 @property (nonatomic) int heartbeatTimeout;
184 @property (nonatomic) int framerate;
188 @property (nonatomic, strong) NSString* __nullable customProperty;
213 @property (nonatomic, strong) NSString* __nullable customVideoResolution;
217 @property (nonatomic) float videoRatio;
223 @property (nonatomic) int defaultBitrate;
224 
225 @end
226 
230 @interface JCMediaChannelPropChangeParam : NSObject
231 
237 @property (nonatomic) bool uploadLocalAudio;
238 
244 @property (nonatomic) bool uploadLocalVideo;
245 
251 @property (nonatomic) bool audioOutput;
252 
258 @property (nonatomic) bool cdnState;
259 
265 @property (nonatomic) bool recordState;
266 
272 @property (nonatomic) bool screenShare;
273 
279 @property (nonatomic) bool title;
280 
286 @property (nonatomic) bool customProperty;
287 
288 @end
289 
293 @interface JCMediaChannelScreenShareParam : NSObject
294 
300 @property (nonatomic) int bitrate;
306 @property (nonatomic) int frameRate;
314 @property (nonatomic) int resolution;
315 
316 @end
317 
321 @interface JCMediaChannel : NSObject
322 
326 @property (nonatomic, readonly, copy) NSString* __nullable channelUri;
327 
331 @property (nonatomic, readonly, copy) NSString* __nullable channelId;
332 
336 @property (nonatomic, readonly) int channelNumber;
337 
339 
342 @property (nonatomic, readonly) long confId;
344 
348 @property (nonatomic, readonly, copy) NSString* __nullable sessionId;
349 
353 @property (nonatomic, readonly) NSString* __nonnull password;
354 
364 @property (nonatomic, readonly) JCMediaChannelState state;
365 
369 @property (nonatomic, readonly, strong) NSArray* __nonnull participants;
370 
376 @property (nonatomic, readonly) bool uploadLocalAudio;
377 
383 @property (nonatomic, readonly) bool uploadLocalVideo;
384 
393 @property (nonatomic, readonly) bool audioOutput;
394 
400 @property (nonatomic, readonly, copy) NSString* __nullable screenRenderId;
401 
407 @property (nonatomic, readonly, copy) NSString* __nullable screenUserId;
408 
412 @property (nonatomic, readonly, copy) NSString* __nullable title;
413 
420 @property (nonatomic, readonly) JCMediaChannelRecordState recordState;
421 
428 @property (nonatomic, readonly) JCMediaChannelCdnState cdnState;
429 
433 @property (nonatomic, readonly) JCMediaChannelParticipant* __nullable selfParticipant;
434 
440 @property (nonatomic) bool volumeChangeNotify;
441 
458 +(JCMediaChannel* __nullable)create:(JCClient* __nonnull)client mediaDevice:(JCMediaDevice* __nonnull)mediaDevice callback:(id<JCMediaChannelCallback> __nonnull)callback;
459 
467 +(void)destroy;
468 
477 -(int)query:(NSString* __nonnull)channelId;
478 
493 -(bool)join:(NSString* __nonnull)channelIdOrUri joinParam:(JCMediaChannelJoinParam* __nullable)joinParam;
494 
504 -(bool)leave;
505 
517 -(bool)stop;
518 
537 -(bool)enableUploadAudioStream:(bool)enable;
538 
557 -(bool)enableUploadVideoStream:(bool)enable;
558 
575 -(bool)enableAudioOutput:(bool)enable;
576 
593 -(bool)requestVideo:(JCMediaChannelParticipant* __nonnull)participant pictureSize:(JCMediaChannelPictureSize)pictureSize;
594 
607 -(bool)enableScreenShare:(bool)enable screenShareParam:(JCMediaChannelScreenShareParam * __nullable)screenShareParam;
608 
625 -(bool)requestScreenVideo:(NSString* __nonnull)screenUri pictureSize:(JCMediaChannelPictureSize)pictureSize;
626 
640 -(bool)enableCdn:(bool)enable keyInterval:(int)keyInterval;
641 
653 -(bool)enableRecord:(bool)enable recordParam:(JCMediaChannelRecordParam* __nullable)recordParam;
654 -(JCMediaChannelParticipant* __nullable)getParticipant:(NSString* __nonnull)userId;
663 
671 -(NSString * __nullable)getStatistics;
672 
683 -(bool)setCustomProperty:(NSString * __nonnull)property;
684 
692 -(NSString * __nullable)getCustomProperty;
693 
704 -(bool)sendMessage:(NSString * __nonnull)type content:(NSString * __nonnull)content toUserId:(NSString * __nullable)toUserId;
705 
717 -(int)inviteSipUser:(NSString * __nonnull)userId sipParam:(JCMediaChannelSipParam* __nonnull)sipParam;
718 
775 -(bool)sendCommand:(NSString * __nonnull)name commandParam:(NSString * __nonnull)param;
776 
783 -(void)setCustomRole:(JCMediaChannelCustomRole)customRole participant:(JCMediaChannelParticipant * __nullable)participant;
784 
790 -(JCMediaChannelCustomRole)getCustomRole;
791 
798 -(void)setCustomState:(JCMediaChannelCustomState)customState participant:(JCMediaChannelParticipant * __nullable)participant;
799 
805 -(JCMediaChannelCustomState)getCustomState;
806 
815 -(BOOL)kick:(JCMediaChannelParticipant * __nonnull)participant;
816 
828 -(bool)sendCommandToDelivery:(NSString* __nonnull)command;
829 
840 -(void)enableSelfVideoRatio:(bool)enable ratio:(float)ratio;
841 
859 -(JCMediaDeviceVideoCanvas* __nullable)startScreenShareVideo:(JCMediaDeviceRender)type pictureSize:(JCMediaChannelPictureSize)pictureSize;
860 
866 -(void)stopScreenShareVideo;
867 
868 
869 @end
870 
JCMediaChannelCdnState
JCMediaChannelCdnState
Definition: JCMediaChannelConstants.h:165
JCMediaChannelState
JCMediaChannelState
Definition: JCMediaChannelConstants.h:91
JCMediaChannelJoinParam
Definition: JCMediaChannel.h:133
JCMediaChannelMaxResolution
JCMediaChannelMaxResolution
Definition: JCMediaChannelConstants.h:79
JCMediaChannelSipParamExtra::mcu
bool mcu
Definition: JCMediaChannel.h:46
JCMediaDevice
Definition: JCMediaDevice.h:176
JCMediaChannelCallback-p
Definition: JCMediaChannelCallback.h:25
JCMediaChannelScreenShareParam
Definition: JCMediaChannel.h:294
JCMediaChannelSipParamExtra::dtmfPassowrd
NSString *__nullable dtmfPassowrd
Definition: JCMediaChannel.h:56
JCMediaChannelSipParamExtra::route
bool route
Definition: JCMediaChannel.h:36
JCMediaDeviceRender
JCMediaDeviceRender
Definition: JCMediaDeviceConstants.h:33
JCMediaChannelPropChangeParam
Definition: JCMediaChannel.h:231
JCMediaChannelSipParamExtra
Definition: JCMediaChannel.h:25
JCMediaChannelCustomRole
JCMediaChannelCustomRole
Definition: JCMediaChannelConstants.h:177
JCMediaChannelSipParam
Definition: JCMediaChannel.h:70
JCMediaChannelSipParamExtra::displayName
NSString *__nullable displayName
Definition: JCMediaChannel.h:40
JCMediaChannelSipParamExtra::sipUri
bool sipUri
Definition: JCMediaChannel.h:30
JCMediaChannelPictureSize
JCMediaChannelPictureSize
Definition: JCMediaChannelConstants.h:63
JCMediaChannelParticipant
Definition: JCMediaChannelParticipant.h:77
JCMediaChannelCustomState
JCMediaChannelCustomState
Definition: JCMediaChannelConstants.h:193
JCMediaDeviceVideoCanvas
Definition: JCMediaDeviceVideoCanvas.h:28
JCMediaChannelRecordParam
Definition: JCMediaChannel.h:90
-[JCMediaChannelSipParamExtra toParamString]
NSString *__nonnull toParamString()
JCMediaChannelRecordState
JCMediaChannelRecordState
Definition: JCMediaChannelConstants.h:153
JCMediaChannel
Definition: JCMediaChannel.h:322
JCMediaChannelSipParamExtra::video
bool video
Definition: JCMediaChannel.h:52
JCClient
Definition: JCClient.h:95