本文介绍如何发出或撤销连麦申请以及对应的消息通知。
说明
申请连麦的实现分为三个部分,第一,申请方发出连麦邀请消息;第二,处理方收到申请消息之后选择接受或拒绝,发出接受或拒绝的消息;第三,申请方收到申请处理结果消息,如果被接受则可以加入连麦。
发出或撤销连麦申请后,房间的成员会收到申请连麦或撤销申请的消息,具体API请看申请连麦或撤销申请消息通知示例。
申请被同意会收到一次同意的消息和一次邀请连麦的消息,被拒绝会收到一次拒绝的消息。
发出或撤销连麦申请API使用示例
iOS端(Objective-C):
// 发出或撤销连麦申请
id<AIRBRoomChannelProtocol> room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:@"xxx"]
[room.rtc applyForJoining:(BOOL)applyOrWithdraw]; // applyOrWithdraw:YES表示申请,NO表示撤销申请。
// 发出或撤销连麦申请失败,需要监听AIRBRTCDelegate中的如下错误事件
- (void) onAIRBRTCErrorWithCode:(AIRBErrorCode)code message:(NSString*)msg{
switch (code) {
case AIRBRTCFailedToApplyOrWithdrawJoinning:
break;
.....
}
}
Android端(Java):
// 发出或撤销连麦申请,申请结果在callback中标识。
rtcService.applyJoinRtc(boolean apply, Callback<Void> callback);
/**
* (取消)申请入会
*
* @param apply true: 申请; false: 取消申请;
* @param callback 回调函数
*/
// void applyJoinRtc(boolean apply, Callback<Void> callback);
Windows端(c++):
auto room_ptr = alibaba::meta_space::MetaSpace::GetInstance()->GetRoomInstance(room_id);
auto rtc_plugin = std::dynamic_pointer_cast<IRtc>(room_ptr->GetPlugin(PluginRtc));
// 发出或撤销连麦申请
bool apply = true;
rtc_plugin->ApplyJoinRtc(apply, [](){}, [](const ::alibaba::dps::DPSError & error_msg){});
申请结果消息通知示例
申请被同意或拒绝都会收到一次相应的同意或拒绝消息。申请被同意还会额外收到一次邀请连麦的消息,具体请看邀请连麦消息通知示例。
iOS端(Objective-C):
// 申请被同意或拒绝的消息,需要通过实现AIRBRoomChannelProtocol的AIRBRoomChannelDelegate中的如下方法和事件来通知,
- (void) onAIRBRoomChannelEvent:(AIRBRoomChannelEvent) event info:(NSDictionary*)info{
switch (event) {
case AIRBRoomChannelEventMessageReceived:{
AIRBRoomChannelMessageType messageType = [[info valueForKey:@"type"] integerValue];
switch (messageType) {
case AIRBRoomChannelMessageTypeOnReceiveRTCJoiningApplicationRespond:{
NSData *turnData = [[info valueForKey:@"data"] dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dataDic = [NSJSONSerialization JSONObjectWithData:turnData options:NSJSONReadingMutableLeaves error:nil];
// 自定义处理
}
break;
.....
}
}
break;
.....
}
}
Android端(Java):
// 申请被同意或拒绝的消息
rtcService.onRtcHandleApplyChannel(ConfHandleApplyEvent event);
Windows端(c++):
// 申请被同意或拒绝的消息
// 继承RtcEventListener,并重写OnRtcHandleApply方法
virtual void OnRtcHandleApply(const RtcHandleApplyEvent & event) {
};
反馈
- 本页导读 (1)
文档反馈