文档

发出或撤销申请

更新时间:

本文介绍如何发出或撤销连麦申请以及对应的消息通知。

说明

  • 申请连麦的实现分为三个部分,第一,申请方发出连麦邀请消息;第二,处理方收到申请消息之后选择接受或拒绝,发出接受或拒绝的消息;第三,申请方收到申请处理结果消息,如果被接受则可以加入连麦

  • 发出或撤销连麦申请后,房间的成员会收到申请连麦或撤销申请的消息,具体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)
文档反馈