音视频通话
<p>[TOC]</p>
<h2>音视频通话</h2>
<p>目前配合其他音视频SDK建立了音视频的IM通讯体系</p>
<pre><code>@protocol QDIMMediaManager <NSObject>
/**
添加音视频通话委托
@param delegate 委托
*/
- (void)addDelegate:(id<QDMediaManagerDelegate>)delegate;
/**
移除音视频通话委托
@param delegate 委托
*/
- (void)removeDelegate:(id<QDMediaManagerDelegate>)delegate;
/**
创建会议房间
@param callType 通话类型
@param completionBlock 回调
*/
- (void)createMeetingRoomByCallType:(QDNetCallType)callType
completion:(void(^ __nullable)(id __nullable response, NSError * __nullable error))completionBlock;
/**
发起音视频请求
@param user 用户对象
@param subject 主题
@param type 通话类型
@param body 内容信息
@param completion 回调
@return 会议命令
*/
- (QDAVCmd *)startNetCall:(QDUser *)user
subject:(NSString *)subject
type:(QDNetCallType)type
body:(NSString *)body
completion:(nullable QDIMNetCallHandler)completion;
/**
停止音视频请求
@param user 用户对象
@param cmdGuid 停止音视频请求的ID
@param subject 主题
@param type 通话类型
@param body 内容信息
@param completion 回调
*/
- (void)stopNetCall:(QDUser *)user
cmdGuid:(NSString *)cmdGuid
subject:(NSString *)subject
type:(QDNetCallType)type
body:(NSString *)body
completion:(nullable QDIMNetCallHandler)completion;
/**
接收音视频请求
@param avCmd 音视频请求对象
@param subject 主题
@param type 通话类型
@param completion 回调
*/
- (void)acceptNetCall:(QDAVCmd *)avCmd
subject:(NSString *)subject
type:(QDNetCallType)type
completion:(nullable QDIMNetCallHandler)completion;
/**
拒绝音视频请求
@param avCmd 音视频请求对象
@param subject 主题
@param reason 原因
@param type 通话类型
@param isBusy 是否对方正在通话或视频中
对方正在通话或视频中
*/
- (void)rejectNetCall:(QDAVCmd *)avCmd
subject:(NSString *)subject
reason:(NSString *)reason
type:(QDNetCallType)type
isBusy:(BOOL)isBusy
completion:(nullable QDIMNetCallHandler)completion;
@end</code></pre>
<p>代理方法</p>
<pre><code>@protocol QDMediaManagerDelegate <NSObject>
@optional
- (void)onRecvNetCallReply:(QDAVCmd *)avCmd;
- (void)onRecvNetCallRequest:(QDAVCmd *)avCmd;
- (void)onRecvMnetCallNotify:(QDMAVCmd *)mavCmd;
- (void)onRecNetCallPlatformReply:(QDAVCmd *)avCmd;
@end
</code></pre>
<p>具体使用方法,配合项目Demo来进行使用</p>