NIMRTSConferenceManagerProtocol.h
3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//
// NIMRTSConferenceManagerProtocol.h
// NIMAVChat
//
// Created by Netease.
// Copyright (c) 2016 Netease. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "NIMAVChatDefs.h"
NS_ASSUME_NONNULL_BEGIN
@class NIMRTSConference;
@class NIMRTSConferenceData;
/**
* 多方实时会话相关回调
*/
@protocol NIMRTSConferenceManagerDelegate <NSObject>
@optional
/**
* 预订多方实时会话结果回调
*
* @param conference 预订的会话
* @param result 结果. nil 表示预订成功
*/
- (void)onReserveConference:(NIMRTSConference *)conference
result:(nullable NSError *)result;
/**
* 加入多方实时会话结果回调
*
* @param conference 加入的会话
* @param result 结果. nil 表示加入成功
*/
- (void)onJoinConference:(NIMRTSConference *)conference
result:(nullable NSError *)result;
/**
* 离开了多人实时会话(发生了错误)
*
* @param conference 离开的会话
* @param error 错误信息
*/
- (void)onLeftConference:(NIMRTSConference *)conference
error:(NSError *)error;
/**
* 用户加入了多方实时会话
*
* @param uid 用户 id
* @param conference 用户加入的会话
*/
- (void)onUserJoined:(NSString *)uid
conference:(NIMRTSConference *)conference;
/**
* 用户离开了多方实时会话
*
* @param uid 用户 id
* @param conference 用户离开的会话
* @param reason 用户离开的原因
*/
- (void)onUserLeft:(NSString *)uid
conference:(NIMRTSConference *)conference
reason:(NIMRTSConferenceUserLeaveReason)reason;
@end
/**
* 实时会话协议
*/
@protocol NIMRTSConferenceManager <NSObject>
/**
* 预订多方实时会话
*
* @param conference 需要预订的会话
*
* @return 接口调用的结果. 该结果只是表示当前这个函数调用是否成功,需要后续的回调才能判断预订会话是否成功
*/
- (nullable NSError *)reserveConference:(NIMRTSConference *)conference;
/**
* 加入多方实时会话
*
* @param conference 需要加入的会话
*
* @return 接口调用的结果. 该结果只是表示当前这个函数调用是否成功,需要后续的回调才能判断加入会话是否成功
*/
- (nullable NSError *)joinConference:(NIMRTSConference *)conference;
/**
* 离开多方实时会话
*
* @param conference 需要离开的会话
*
* @return 接口调用的结果
*
*/
- (nullable NSError *)leaveConference:(NIMRTSConference *)conference;
/**
* 发送多方实时会话数据
*
* @param data 需要发送的实时会话数据, 数据长度不允许超过50KB, 推荐不超过4KB; 发送数据的周期建议控制在50ms以上
*
* @return 是否允许发送
*
* @discussion 被叫在响应请求之前不要调用挂断接口
*/
- (BOOL)sendRTSData:(NIMRTSConferenceData *)data;
/**
* 添加多方实时会话委托
*
* @param delegate 多方实时会话委托
*/
- (void)addDelegate:(id<NIMRTSConferenceManagerDelegate>)delegate;
/**
* 移除多方实时会话委托
*
* @param delegate 多方实时会话委托
*/
- (void)removeDelegate:(id<NIMRTSConferenceManagerDelegate>)delegate;
@end
NS_ASSUME_NONNULL_END