JRTCSDK-iOS v2601.0
多方通话 API 文档
载入中...
搜索中...
未找到
JRTCRoom.h
1//
2// JRTCRoom.h
3// JRTCSDK
4//
5// Created by juphoon on 2017/8/11.
6// Copyright © 2017年 juphoon. All rights reserved.
7//
8
9#import <Foundation/Foundation.h>
10#import "JRTCRoomCallback.h"
11#import "JRTCRoomParticipant.h"
12#import "JRTCRoomConstants.h"
13#import "JRTCRoomJoinParam.h"
14#import "JRTCRoomQueryInfo.h"
15#import "JRTCSipInviteParam.h"
16#import "JRTCEnum.h"
17#import "JRTCRecordRemoteParam.h"
18#import "JRTCRecordLocalParam.h"
19#import "JRTCModuleBase.h"
20#import "JRTCVideoSize.h"
21#import "JRTCRoomStreamAbnormalDetectParam.h"
22
27
31@interface JRTCRoomPropChangeParam : NSObject
32
38@property (nonatomic, assign) bool uploadLocalAudio;
39
45@property (nonatomic, assign) bool uploadLocalVideo;
46
52@property (nonatomic, assign) bool audioOutput;
53
59@property (nonatomic, assign) bool cdnState;
60
66@property (nonatomic, assign) bool remoteRecordState;
67
73@property (nonatomic, assign) bool screenShare;
74
80@property (nonatomic, assign) bool unSubScreenShare;
81
85- (NSDictionary *_Nullable)toDictionary;
86
87@end
88
93
94
98@property (nonatomic, readonly, copy, nullable) NSString *roomId;
99
103@property (nonatomic, readonly, assign) unsigned int roomHandle;
104
114@property (nonatomic, readonly, assign) RoomState state;
115
119@property (nonatomic, readonly, strong, nullable) NSArray<JRTCRoomParticipant *> *participants;
120
127@property (nonatomic, readonly, assign) bool uploadLocalAudio;
128
135@property (nonatomic, readonly, assign) bool uploadLocalVideo;
136
145@property (nonatomic, readonly, assign) bool audioOutput;
146
152@property (nonatomic, readonly, copy, nullable) NSString *shareStreamId;
153
159@property (nonatomic, readonly, copy, nullable) NSString *shareUserId;
160
167@property (nonatomic, readonly, assign) bool localRecording;
168
172@property (nonatomic, readonly, copy, nullable) NSString *title;
173
180@property (nonatomic, readonly, assign) RecordState remoteRecordState;
181
188@property (nonatomic, readonly, assign) CDNState cdnState;
195@property (nonatomic, assign) bool canBindCamera;
196
203@property (nonatomic, assign) bool notifyVolumeChange;
204
220+ (JRTCRoom* __nullable)create:(JRTCClient* __nonnull)client mediaDevice:(JRTCMediaDevice* __nonnull)mediaDevice callback:(id<JRTCRoomCallback> __nonnull)callback;
221
229+ (void)destroy;
230
236- (NSArray<JRTCVideoSize *> *_Nullable)getSupportVideoSizes;
237
246- (int)query:(NSString* __nonnull)roomId;
247
259- (bool)join:(NSString* __nonnull)roomId joinParam:(JRTCRoomJoinParam* __nullable)joinParam;
260
267- (bool)leave;
268
277- (bool)kickUser:(NSString* __nonnull)userId;
278
285-(void)setUseExternalScreenCaptureControl:(bool)useExternalControl;
286
305- (bool)enableUploadAudioStream:(bool)enable;
306
325- (bool)enableUploadVideoStream:(bool)enable;
326
339- (bool)enableAudioOutput:(bool)enable;
340
350- (bool)requestVideo:(JRTCRoomParticipant* __nonnull)participant videoSize:(JRTCVideoSize *__nonnull)videoSize;
351
360- (bool)unRequestVideo:(JRTCRoomParticipant* __nonnull)participant;
361
370- (bool)requestScreenVideo:(JRTCVideoSize *__nonnull)videoSize;
371
380
388- (NSString * __nullable)createExtraStream:(NSString * __nonnull)captureStreamId screenShare:(bool)screenShare;
389
398- (bool)deleteExtraStream:(NSString *__nonnull)captureStreamId;
399
410- (bool)requestExtraStreamVideo:(JRTCRoomParticipant *__nonnull)participant streamId:(NSString *__nonnull)streamId videoSize:(JRTCVideoSize *__nonnull)videoSize;
411
421- (bool)unRequestExtraStreamVideo:(JRTCRoomParticipant *__nonnull)participant streamId:(NSString *__nonnull)streamId;
422
423
424#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
425
443- (bool)enableScreenShare:(bool)enable appGroupId:(NSString *__nullable)appGroupId preferredExtension:(NSString *__nullable)preferredExtension;
444
463- (bool)enableScreenShare:(bool)enable appGroupId:(NSString *__nullable)appGroupId preferredExtension:(NSString *__nullable)preferredExtension captureAudio:(bool)captureAudio;
464
465
477- (bool)enableScreenShare:(bool)enable;
478
489- (bool)suspendScreenShare:(bool)suspend tip:(NSString *_Nonnull)tip;
490
498
505- (bool)setSubScreenShare:(bool)enable;
506
514
515#endif
516
528- (bool)enableCdn:(bool)enable keyInterval:(int)keyInterval;
529
542- (bool)enableLocalRecord:(bool)enable recordParam:(JRTCRecordLocalParam* __nullable)recordParam;
543
552- (bool)updateLocalRecordLayout:(NSArray<JRTCRecordLocalLayout*>* __nonnull)layoutList;
553
566- (bool)enableRemoteRecord:(bool)enable recordParam:(JRTCRecordRemoteParam* __nullable)recordParam;
567
576- (bool)updateRemoteRecordLayout:(NSArray<JRTCRecordRemoteLayout *> * __nonnull)layoutList;
577
586- (bool)updateRemoteRecordWatermark:(NSDictionary * __nonnull)watermarkTextDic;
587
600
615- (bool)enableAudioInputFromFile:(bool)enable filePath:(NSString *_Nullable)filePath loop:(bool)loop DEPRECATED_MSG_ATTRIBUTE("该方法即将废弃,请用JRTCMediaDevice#enableAudioInputFromFile:filePath:loop:代替");
616
627- (bool)suspendAudioInputFromFile:(bool)suspend DEPRECATED_MSG_ATTRIBUTE("该方法即将废弃,请用JRTCMediaDevice#suspendAudioInputFromFile:代替");
628
637- (JRTCRoomParticipant* __nullable)getParticipant:(NSString* __nonnull)userId;
638
821- (NSString* __nullable)getStatistics;
822
847- (NSString * __nullable)getJsonStats;
848
858- (bool)setCustomProperty:(NSString* __nullable)value forKey:(NSString* __nonnull)key;
859
868- (NSString* __nullable)getCustomProperty:(NSString* __nonnull)key;
869
881- (bool)sendMessage:(NSString * __nonnull)type content:(NSString * __nonnull)content toUserId:(NSString * __nullable)toUserId;
882
891- (int)inviteSipUser:(JRTCSipInviteParam *__nonnull)sipParam;
892
904- (bool)setRatio:(float)ratio;
905
917- (bool)sendAudioEmptyPack:(bool)b;
918
930- (bool)sendVideoEmptyPack:(bool)b;
931
941- (bool)setVideoDot:(NSString *__nonnull)timespan info:(NSString *__nonnull)info;
942
952- (bool)enableMicAgc:(bool)enable;
953
963- (bool)enableVideoStreamAbnormalDetect:(NSString * __nonnull)streamId param:(JRTCRoomStreamAbnormalDetectParam * __nonnull)param;
964
965@end
966
RoomState
定义 JRTCEnum.h:94
RecordState
定义 JRTCEnum.h:170
CDNState
定义 JRTCEnum.h:158
登录登出管理
定义 JRTCClient.h:24
音视频设备管理
定义 JRTCMediaDevice.h:149
业务基础类
定义 JRTCModuleBase.h:16
成员布局配置类
定义 JRTCRecordLocalParam.h:18
本地录制参数
定义 JRTCRecordLocalParam.h:43
成员布局配置类
定义 JRTCRecordRemoteParam.h:18
远程录制参数
定义 JRTCRecordRemoteParam.h:41
定义 JRTCRoom.h:93
unsigned int roomHandle
定义 JRTCRoom.h:103
bool localRecording
定义 JRTCRoom.h:167
NSArray< JRTCVideoSize * > *_Nullable getSupportVideoSizes()
bool notifyVolumeChange
定义 JRTCRoom.h:203
bool isSubScreenShare()
NSString *__nullable getJsonStats()
NSString * roomId
定义 JRTCRoom.h:98
NSArray< JRTCRoomParticipant * > * participants
定义 JRTCRoom.h:119
bool enableRemoteAdvancedRecord()
NSString *__nullable getStatistics()
CDNState cdnState
定义 JRTCRoom.h:188
bool isSuspendScreenShare()
RecordState remoteRecordState
定义 JRTCRoom.h:180
NSString * shareStreamId
定义 JRTCRoom.h:152
bool leave()
bool uploadLocalVideo
定义 JRTCRoom.h:135
bool canBindCamera
定义 JRTCRoom.h:195
NSString * title
定义 JRTCRoom.h:172
NSString * shareUserId
定义 JRTCRoom.h:159
bool unRequestScreenVideo()
RoomState state
定义 JRTCRoom.h:114
bool uploadLocalAudio
定义 JRTCRoom.h:127
bool audioOutput
定义 JRTCRoom.h:145
void destroy()
定义 JRTCRoomJoinParam.h:21
定义 JRTCRoomParticipant.h:133
定义 JRTCRoom.h:32
bool uploadLocalVideo
定义 JRTCRoom.h:45
bool uploadLocalAudio
定义 JRTCRoom.h:38
bool cdnState
定义 JRTCRoom.h:59
bool unSubScreenShare
定义 JRTCRoom.h:80
bool audioOutput
定义 JRTCRoom.h:52
bool screenShare
定义 JRTCRoom.h:73
bool remoteRecordState
定义 JRTCRoom.h:66
NSDictionary *_Nullable toDictionary()
sip邀请参数
定义 JRTCSipInviteParam.h:18
视频尺寸
定义 JRTCVideoSize.h:18