暖暖视频免费观**,国产免费美女被艹视频,毛片一级毛片,不卡三级

智慧服務(wù),成就美好體驗(yàn) 項(xiàng)目咨詢

主頁 > 服務(wù)與支持 > 開發(fā)平臺 > 客戶端SDK參考 > iOS Native SDK > 會議 會議接入

入門使用

會議接入

更新時(shí)間:2019-11-20

會議列表一鍵入會

描述

用戶通過會議列表一鍵入會的方式加入會議。

前提條件

  1. 鑒權(quán)登錄成功。
  2. SIP號碼已成功注冊。
  3. 會議環(huán)境參數(shù)已設(shè)置。

業(yè)務(wù)流程

圖1 會議列表一鍵入會流程

  1. UI調(diào)用tsdk_join_conference()加入會議;SDK發(fā)送加入會議請求至服務(wù)器。
    說明: 

    在加入會議時(shí),入會參數(shù)(conf_join_param),是否視頻接入會議(is_video_join)為必選;

    1. 入會參數(shù)結(jié)構(gòu)體中conf_id,access_number,conf_password都為必選。
    2. 入會號碼(join_number)如果不填,則使用自己軟終端號碼入會。
    3. 會議對應(yīng)的呼叫ID(接口會同步返回call_id,需要記錄下),在使用SIP終端號碼入會時(shí)有效。
    代碼示例:
    -(BOOL)joinConferenceWithConfId:(NSString *)confId AccessNumber:(NSString *)accessNumber confPassWord:(NSString *)confPassWord joinNumber:(NSString *)joinNumber isVideoJoin:(BOOL)isVideoJoin
    {    
        TSDK_S_CONF_JOIN_PARAM confJoinParam;    
        memset(&confJoinParam, 0, sizeof(TSDK_S_CONF_JOIN_PARAM));    
        if (confId.length > 0 && confId != nil) 
        {        
            strcpy(confJoinParam.conf_id, [confId UTF8String]);    
        }    
        if (confPassWord.length > 0 && confPassWord != nil) 
        {        
            strcpy(confJoinParam.conf_password, [confPassWord UTF8String]);    
        }    
        if (accessNumber.length > 0 && accessNumber != nil) 
        {        
            strcpy(confJoinParam.access_number, [accessNumber UTF8String]);    
        }        
        TSDK_CHAR join_number;    
        if (!self.selfJoinNumber) 
        {        
            self.selfJoinNumber = self.sipAccount;    
        }    
        strcpy(&join_number, [self.selfJoinNumber UTF8String]);        
        TSDK_UINT32 call_id;        
        BOOL result = tsdk_join_conference(&confJoinParam, &join_number, (TSDK_BOOL)isVideoJoin, &call_id);    
        DDLogInfo(@"tsdk_join_conference = %d, call_id is :%d",result,call_id);    
        return result == TSDK_SUCCESS ? YES : NO;
    }
     
  2. SDK在收到服務(wù)器返回的加入會議響應(yīng)后,向UI上報(bào)加入會議結(jié)果通知TSDK_E_CONF_EVT_JOIN_CONF_RESULT,對應(yīng)的結(jié)果數(shù)據(jù)結(jié)構(gòu)為TSDK_S_JOIN_CONF_IND_INFO,并返回conf handle,后續(xù)會控時(shí)使用,此時(shí), UI可跳轉(zhuǎn)至?xí)h界面。
    說明: 
    1. 在加入會議時(shí),會請求會議權(quán)限,若請求失敗,則會向UI上報(bào)會議權(quán)限請求失敗通知TSDK_E_CONF_EVT_REQUEST_CONF_RIGHT_FAILED,UI提示申請會控權(quán)限失敗,若請求成功,則不上報(bào)。
    2. 若應(yīng)用程序是以多流的方式(SVC)成功加入會議,則此結(jié)果通知中會攜帶SVC信息,包含 is_svc_conf (是否多流會議)、svc_label_count(可使用的多流Label數(shù)) 和 svc_label (多流Label 表),應(yīng)用程序應(yīng)保存多流“Label”信息,用于后繼流程中“綁定SVC視頻窗口”、"選看SVC與會者"和“設(shè)置SVC窗口和與會者關(guān)系”等操作。
    代碼示例:
    case TSDK_E_CONF_EVT_JOIN_CONF_RESULT:        
    {         
        DDLogInfo(@"TSDK_E_CONF_EVT_JOIN_CONF_RESULT");            
        BOOL result = notify.param2 == TSDK_SUCCESS;            
        if (!result) 
        {                
            DDLogError(@"TSDK_E_CONF_EVT_JOIN_CONF_RESULT,error:%@",[NSString stringWithUTF8String:(TSDK_CHAR *)notify.data]);                
            return;            
        }                        
        _confHandle = notify.param1;            
        TSDK_S_JOIN_CONF_IND_INFO *confInfo = (TSDK_S_JOIN_CONF_IND_INFO *)notify.data;            
        _currentCallId = confInfo->call_id;                        
        dispatch_async(dispatch_get_main_queue(), ^{                
            // go conference                               
            [self goConferenceRunView:nil];                
            [self respondsECConferenceDelegateWithType:CONF_E_CONNECT result:nil];                
            [[NSNotificationCenter defaultCenter] postNotificationName:TUP_CALL_REMOVE_CALL_VIEW_NOTIFY object:nil];            
        });        
    }            
    break;
     
  3. SDK收到會議狀態(tài)更新通知,向UI上報(bào)會議信息及狀態(tài)更新事件TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE,UI刷新會議成員列表和會議信息。
    代碼示例:
    case TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE:        
    {            
        DDLogInfo(@"TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE");                        
        [self handleAttendeeUpdateNotify:notify];        
    }           
    break;
     
  4. 若會議包含數(shù)據(jù)會議能力,SDK會向UI上報(bào)獲取數(shù)據(jù)會議參數(shù)結(jié)果TSDK_E_CONF_EVT_GET_DATACONF_PARAM_RESULT。
    代碼示例:
    case TSDK_E_CONF_EVT_GET_DATACONF_PARAM_RESULT:        
    {            
        DDLogInfo(@"TSDK_E_CONF_EVT_GET_DATACONF_PARAM_RESULT");            
        BOOL result = notify.param2 == TSDK_SUCCESS;            
        if (!result) 
        {                
            DDLogError(@"TSDK_E_CONF_EVT_GET_DATACONF_PARAM_RESULT,error:%@",[NSString stringWithUTF8String:(TSDK_CHAR *)notify.data]);                
            return;            
        }            
        dispatch_async(dispatch_get_main_queue(), ^{                
             [self joinDataConference];                
            [self startHeartBeatTimer];            
        });                    
    }            
    break;
     
  5. 此時(shí)UI可選擇自動(dòng)加入或用戶選擇加入數(shù)據(jù)會議,調(diào)用加入數(shù)據(jù)會議接口tsdk_join_data_conference(),SDK發(fā)送創(chuàng)建會議請求至?xí)h服務(wù)器。
    代碼示例:
    -(void)joinDataConference
    {    
        TSDK_RESULT result = tsdk_join_data_conference(_confHandle);    
        DDLogInfo(@"tsdk_join_data_conference ret: %d", result);
    }
     
  6. SDK在收服務(wù)器加入數(shù)據(jù)會議響應(yīng)后,向UI上報(bào)數(shù)據(jù)會議加入結(jié)果通知TSDK_E_CONF_EVT_JOIN_DATA_CONF_RESULT,若成功,則UI刷新界面,提示加入數(shù)據(jù)會議成功,若失敗,則提示加入數(shù)據(jù)會議失敗。
    說明: 

    在加入數(shù)據(jù)會議后,會向UI上報(bào)會議信息及狀態(tài)更新事件TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE,UI刷新會議成員列表和會議信息。

    代碼示例:
    case TSDK_E_CONF_EVT_JOIN_DATA_CONF_RESULT:        
    {            
        DDLogInfo(@"TSDK_E_CONF_EVT_JOIN_DATA_CONF_RESULT");            
        NSDictionary *resultInfo = nil;            
        BOOL isSuccess = notify.param2 == TSDK_SUCCESS;            
        resultInfo = @{                           
            UCCONF_RESULT_KEY :[NSNumber numberWithBool:isSuccess]                           
        };            
      [self respondsECConferenceDelegateWithType:DATA_CONF_JOIN_RESOULT result:resultInfo];        
    }            
    break;
     

注意事項(xiàng)

無。

會議接入碼入會

描述

用戶由第三方途徑獲取會議信息,通過輸入會議號和接入碼的方式加入會議。

說明: 
  1. 因不支持從撥號盤撥打“會議號”+“接入碼”的方式直接加入會議,所以應(yīng)用程序界面需要提供“接入會議”的單獨(dú)入口;
  2. 與“會議列表一鍵入會”的接口調(diào)用流程相同,不同在于用戶界面入口。

業(yè)務(wù)流程

參見“會議列表一鍵入會”。

注意事項(xiàng)

無。

統(tǒng)一會議接入號入會

描述

用戶由第三方途徑獲取會議信息,通過撥打統(tǒng)一會議接入號,使用IVR導(dǎo)航的方式加入會議。

前提條件

  1. 鑒權(quán)登錄成功。
  2. SIP號碼已成功注冊。
  3. 會議環(huán)境參數(shù)已設(shè)置。

業(yè)務(wù)流程

圖2 統(tǒng)一會議接入號入會流程

  1. UI調(diào)用“音視頻呼叫”接口tsdk_start_call()發(fā)起一個(gè)呼叫請求,被叫號碼為“統(tǒng)一會議接入號”。
    代碼示例:
    TSDK_BOOL isVideo = ((TSDK_CALL_E_CALL_TYPE)callType==CALL_VIDEO)?TSDK_TRUE:TSDK_FALSE;    
    TSDK_UINT32 callid = 0;    
    TSDK_RESULT ret = tsdk_start_call(&callid,(TSDK_CHAR*)[number UTF8String], isVideo);
     
  2. 若呼叫建立 成功,SDK向UI上報(bào)呼叫建立事件TSDK_E_CALL_EVT_CALL_CONNECTED,與普通音視頻呼叫相同。
    代碼示例:
    case TSDK_E_CALL_EVT_CALL_CONNECTED:        
    {            
        DDLogInfo(@"Call_Log: recv call notify :CALL_E_EVT_CALL_CONNECTED");            
        TSDK_S_CALL_INFO *callInfo = (TSDK_S_CALL_INFO *)notify.data;           
        CallInfo *tsdkCallInfo = [CallInfo transfromFromCallInfoStract:callInfo];            
        NSString *callId = [NSString stringWithFormat:@"%d", tsdkCallInfo.stateInfo.callId];            
        [_tsdkCallInfoDic setObject:tsdkCallInfo forKey:callId];            
        NSDictionary *resultInfo = @{                                        
            TSDK_CALL_INFO_KEY : tsdkCallInfo                                         
        };            
        [self respondsCallDelegateWithType:CALL_CONNECT result:resultInfo];
    }
     
  3. 用戶根據(jù)服務(wù)器的語言提示,在二次撥號界面輸入會議接入碼和密碼,UI調(diào)用tsdk_send_dtmf()完成會議接入碼和密碼發(fā)送,SDK完成入會交互處理。
    代碼示例:
    - (BOOL)sendDTMFWithDialNum:(NSString *)number callId:(unsigned int)callId
    {    
        TSDK_E_DTMF_TONE dtmfTone = (TSDK_E_DTMF_TONE)[number intValue];    
        if ([number isEqualToString:@"*"])    
        {        
             dtmfTone = TSDK_E_DTMF_STAR;    
        }    
        else if ([number isEqualToString:@"#"])    
        {        
            dtmfTone = TSDK_E_DTMF_POUND;    
        }    
        TSDK_UINT32 callid = callId;    
        TSDK_RESULT ret = tsdk_send_dtmf((TSDK_UINT32)callid,(TSDK_E_DTMF_TONE)dtmfTone);    
        DDLogInfo(@"Call_Log: tsdk_send_dtmf = %@",(TSDK_SUCCESS == ret)?@"YES":@"NO");    
        return ret == TSDK_SUCCESS ? YES : NO;
    }
     
  4. SDK在收到服務(wù)器返回的加入會議響應(yīng)后,向UI上報(bào)加入會議結(jié)果通知TSDK_E_CONF_EVT_JOIN_CONF_RESULT,對應(yīng)的結(jié)果數(shù)據(jù)結(jié)構(gòu)為TSDK_S_JOIN_CONF_IND_INFO,并返回conf handle,后續(xù)會控時(shí)使用,此時(shí), UI可跳轉(zhuǎn)至?xí)h界面。
    說明: 
    1. 在加入會議時(shí),會請求會議權(quán)限,若請求失敗,則會向UI上報(bào)會議權(quán)限請求失敗通知TSDK_E_CONF_EVT_REQUEST_CONF_RIGHT_FAILED,UI提示申請會控權(quán)限失敗,若請求成功,則不上報(bào)。
    2. 若應(yīng)用程序是以多流的方式(SVC)成功加入會議,則此結(jié)果通知中會攜帶SVC信息,包含 is_svc_conf (是否多流會議)、svc_label_count(可使用的多流Label數(shù)) 和 svc_label (多流Label 表),應(yīng)用程序應(yīng)保存多流“Label”信息,用于后繼流程中“綁定SVC視頻窗口”、"選看SVC與會者"和“設(shè)置SVC窗口和與會者關(guān)系”等操作。
    代碼示例:
    case TSDK_E_CONF_EVT_JOIN_CONF_RESULT:        
    {         
        DDLogInfo(@"TSDK_E_CONF_EVT_JOIN_CONF_RESULT");            
        BOOL result = notify.param2 == TSDK_SUCCESS;            
        if (!result) 
        {                
            DDLogError(@"TSDK_E_CONF_EVT_JOIN_CONF_RESULT,error:%@",[NSString stringWithUTF8String:(TSDK_CHAR *)notify.data]);                
            return;            
        }                        
        _confHandle = notify.param1;            
        TSDK_S_JOIN_CONF_IND_INFO *confInfo = (TSDK_S_JOIN_CONF_IND_INFO *)notify.data;            
        _currentCallId = confInfo->call_id;                        
        dispatch_async(dispatch_get_main_queue(), ^{                
            // go conference                               
            [self goConferenceRunView:nil];                
            [self respondsECConferenceDelegateWithType:CONF_E_CONNECT result:nil];                
            [[NSNotificationCenter defaultCenter] postNotificationName:TUP_CALL_REMOVE_CALL_VIEW_NOTIFY object:nil];            
        });        
    }            
    break;
     
  5. SDK收到會議狀態(tài)更新通知,向UI上報(bào)會議信息及狀態(tài)更新事件TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE,UI刷新會議成員列表和會議信息。
    代碼示例:
    case TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE:        
    {            
        DDLogInfo(@"TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE");                        
        [self handleAttendeeUpdateNotify:notify];        
    }           
    break;
     
  6. 若會議包含數(shù)據(jù)會議能力,SDK會向UI上報(bào)獲取數(shù)據(jù)會議參數(shù)結(jié)果TSDK_E_CONF_EVT_GET_DATACONF_PARAM_RESULT。
    代碼示例:
    case TSDK_E_CONF_EVT_GET_DATACONF_PARAM_RESULT:        
    {            
        DDLogInfo(@"TSDK_E_CONF_EVT_GET_DATACONF_PARAM_RESULT");            
        BOOL result = notify.param2 == TSDK_SUCCESS;            
        if (!result) 
        {                
            DDLogError(@"TSDK_E_CONF_EVT_GET_DATACONF_PARAM_RESULT,error:%@",[NSString stringWithUTF8String:(TSDK_CHAR *)notify.data]);                
            return;            
        }            
        dispatch_async(dispatch_get_main_queue(), ^{                
             [self joinDataConference];                
            [self startHeartBeatTimer];            
        });                    
    }            
    break;
     
  7. 此時(shí)UI可選擇自動(dòng)加入或用戶選擇加入數(shù)據(jù)會議,調(diào)用加入數(shù)據(jù)會議接口tsdk_join_data_conference,SDK發(fā)送創(chuàng)建會議請求至?xí)h服務(wù)器。
    代碼示例:
    -(void)joinDataConference
    {    
        TSDK_RESULT result = tsdk_join_data_conference(_confHandle);    
        DDLogInfo(@"tsdk_join_data_conference ret: %d", result);
    }
     
  8. SDK在收服務(wù)器加入數(shù)據(jù)會議響應(yīng)后,向UI上報(bào)數(shù)據(jù)會議加入結(jié)果通知TSDK_E_CONF_EVT_JOIN_DATA_CONF_RESULT,若成功,則UI刷新界面,提示加入數(shù)據(jù)會議成功,若失敗,則提示加入數(shù)據(jù)會議失敗。
    說明: 

    在加入數(shù)據(jù)會議后,會向UI上報(bào)會議信息及狀態(tài)更新事件TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE,UI刷新會議成員列表和會議信息。

    代碼示例:
    case TSDK_E_CONF_EVT_JOIN_DATA_CONF_RESULT:        
    {            
        DDLogInfo(@"TSDK_E_CONF_EVT_JOIN_DATA_CONF_RESULT");            
        NSDictionary *resultInfo = nil;            
        BOOL isSuccess = notify.param2 == TSDK_SUCCESS;            
        resultInfo = @{                           
            UCCONF_RESULT_KEY :[NSNumber numberWithBool:isSuccess]                           
        };            
      [self respondsECConferenceDelegateWithType:DATA_CONF_JOIN_RESOULT result:resultInfo];        
    }            
    break;
     

注意事項(xiàng)

無。

被邀接入會議

描述

會議主席邀請新的與會者加入會議。

與會者通過主席身份加入會議,或已申請獲取為主席。

業(yè)務(wù)流程

圖3 被邀入會流程 
  1. 被邀與會者側(cè)SDK收到會議來電請求,向UI上報(bào)會議來電事件TSDK_E_CONF_EVT_CONF_INCOMING_IND,對應(yīng)的事件數(shù)據(jù)結(jié)構(gòu)為TSDK_S_CONF_INCOMING_INFO,UI提示用戶會議來電。
    說明: 

    在會議來電通知攜帶的信息(TSDK_S_CONF_INCOMING_INFO)中,對端號碼(number)一般默認(rèn)為會議服務(wù)的統(tǒng)一接入號碼,作為對用戶的提示意義不大,建議使用會議主題(subject)作為來電提示信息。

    代碼示例:
    case TSDK_E_CONF_EVT_CONF_INCOMING_IND:        
    {            
        if (!self.selfJoinNumber) 
        {                
             self.selfJoinNumber = self.sipAccount;            
        }                        
        DDLogInfo(@"TSDK_E_CONF_EVT_CONF_INCOMING_IND");            
        int callID = notify.param2;           
        _confHandle = notify.param1;            
        TSDK_S_CONF_INCOMING_INFO *inComingInfo = (TSDK_S_CONF_INCOMING_INFO *)notify.data;                        
        CallInfo *tsdkCallInfo = [[CallInfo alloc]init];            
        tsdkCallInfo.stateInfo.callId = callID;            
        BOOL is_video_conf = NO;            
        if (inComingInfo->conf_media_type == TSDK_E_CONF_MEDIA_VIDEO || inComingInfo->conf_media_type == TSDK_E_CONF_MEDIA_VIDEO_DATA) 
        {                
            is_video_conf = YES;            
        }            
        tsdkCallInfo.stateInfo.callType = is_video_conf?CALL_VIDEO:CALL_AUDIO;            
        tsdkCallInfo.stateInfo.callNum = [NSString stringWithUTF8String:inComingInfo->number];                        
        [[NSNotificationCenter defaultCenter] postNotificationName:EC_COMING_CONF_NOTIFY object:nil                                                                 userInfo:@{TUP_CONF_INCOMING_KEY : tsdkCallInfo}];        
    }            
    break;
     
  2. 被邀與會者側(cè)接受入會邀請則調(diào)用tsdk_accept_conference()接聽會議來電呼叫,拒絕入會邀請則調(diào)用tsdk_reject_conference()。
    代碼示例:
    - (BOOL)acceptConfCallIsJoinVideoConf:(BOOL)isJoinVideoConf
    {    
        BOOL result = tsdk_accept_conference(_confHandle, isJoinVideoConf);    
        DDLogInfo(@"tsdk_accept_conference = %d, _confHandle is :%d",result,_confHandle);    
        return result == TSDK_SUCCESS ? YES : NO;
    }
     
  3. SDK在收到服務(wù)器返回的加入會議響應(yīng)后,向UI上報(bào)加入會議結(jié)果通知TSDK_E_CONF_EVT_JOIN_CONF_RESULT,對應(yīng)的結(jié)果數(shù)據(jù)結(jié)構(gòu)為TSDK_S_JOIN_CONF_IND_INFO,并返回conf handle,后續(xù)會控時(shí)使用,此時(shí), UI可跳轉(zhuǎn)至?xí)h界面。
    代碼示例:
    case TSDK_E_CONF_EVT_JOIN_CONF_RESULT:        
    {         
        DDLogInfo(@"TSDK_E_CONF_EVT_JOIN_CONF_RESULT");            
        BOOL result = notify.param2 == TSDK_SUCCESS;            
        if (!result) 
        {                
            DDLogError(@"TSDK_E_CONF_EVT_JOIN_CONF_RESULT,error:%@",[NSString stringWithUTF8String:(TSDK_CHAR *)notify.data]);                
            return;            
        }                        
        _confHandle = notify.param1;            
        TSDK_S_JOIN_CONF_IND_INFO *confInfo = (TSDK_S_JOIN_CONF_IND_INFO *)notify.data;            
        _currentCallId = confInfo->call_id;                        
        dispatch_async(dispatch_get_main_queue(), ^{                
            // go conference                               
            [self goConferenceRunView:nil];                
            [self respondsECConferenceDelegateWithType:CONF_E_CONNECT result:nil];                
            [[NSNotificationCenter defaultCenter] postNotificationName:TUP_CALL_REMOVE_CALL_VIEW_NOTIFY object:nil];            
        });        
    }            
    break;
     
  4. SDK收到會議成員列表刷新通知,向UI上報(bào)會議成員列表刷新事件TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE,UI刷新會議成員列表和會議信息。
    代碼示例:
    case TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE:        
    {            
        DDLogInfo(@"TSDK_E_CONF_EVT_INFO_AND_STATUS_UPDATE");                        
        [self handleAttendeeUpdateNotify:notify];        
    }           
    break;
     

注意事項(xiàng)

無。

匿名加入會議

描述

用戶在未注冊EC帳號時(shí),通過匿名方式加入一個(gè)會議。

會議已經(jīng)創(chuàng)建,且用戶通過第三方方式獲取到會議ID和密碼。

業(yè)務(wù)流程

圖4 匿名加入會議流程 
  1. UI調(diào)用tsdk_join_anonymous_conference()接口,匿名加入會議。
    說明: 

    參數(shù)TSDK_S_CONF_ANONYMOUS_JOIN_PARAM中的服務(wù)器地址和端口,指會議服務(wù)器的地址和端口。

    代碼示例:
    - (BOOL)joinConferenceWithDisPlayName:(NSString *)disPlayName ConfId:(NSString *)confID PassWord:(NSString *)passWord ServerAdd:(NSString *)serverAdd ServerPort:(int)serverPort
    {    
        TSDK_S_CONF_ANONYMOUS_JOIN_PARAM anonymousParam;    
        memset(&anonymousParam, 0, sizeof(TSDK_S_CONF_ANONYMOUS_JOIN_PARAM));        
        strcpy(anonymousParam.display_name, [disPlayName UTF8String]);    
        strcpy(anonymousParam.conf_id, [confID UTF8String]);    
        strcpy(anonymousParam.conf_password, [passWord UTF8String]);    
        strcpy(anonymousParam.server_addr, [serverAdd UTF8String]);    
        anonymousParam.server_port = serverPort;        
        TSDK_RESULT joinConfResult = tsdk_join_conference_by_anonymous(&anonymousParam);        
        return joinConfResult == TSDK_SUCCESS;
    }
     
  2. SDK通過會議ID和密碼向會議服務(wù)器完成鑒權(quán),獲取臨時(shí)帳號,上報(bào)臨時(shí)帳號獲取結(jié)果事件TSDK_E_LOGIN_EVT_GET_TEMP_USER_RESULT。
    說明: 

    若此次事件通知返回失敗,應(yīng)用程序界面應(yīng)提示用戶。

  3. SDK自動(dòng)完成臨時(shí)帳號注冊,并完成加入會議處理,向UI上報(bào)加入會議結(jié)果事件TSDK_E_CONF_EVT_JOIN_CONF_RESULT。后續(xù)過程與普通入會流程相同。
    說明: 

    匿名會議過程中,無論用戶采用主席密碼入會或是普通與會者密碼入會,均只有設(shè)置自己閉音的會控能力,其他會控能力暫不支持。

    代碼示例:
    case TSDK_E_CONF_EVT_JOIN_CONF_RESULT:        
    {            
        DDLogInfo(@"TSDK_E_CONF_EVT_JOIN_CONF_RESULT");            
        BOOL result = notify.param2 == TSDK_SUCCESS;            
        if (!result) 
        {                
            DDLogError(@"TSDK_E_CONF_EVT_JOIN_CONF_RESULT,error:%@",
            [NSString stringWithUTF8String:(TSDK_CHAR *)notify.data]);                
            return;           
         }                       
        _confHandle = notify.param1;           
        TSDK_S_JOIN_CONF_IND_INFO *confInfo = (TSDK_S_JOIN_CONF_IND_INFO *)notify.data;            
        _currentCallId = confInfo->call_id;                        
        dispatch_async(dispatch_get_main_queue(), ^{                
            // go conference               
            DDLogInfo(@"goConferenceRunView");                
            [self respondsECConferenceDelegateWithType:CONF_E_CONNECT result:nil];                
            [[NSNotificationCenter defaultCenter] postNotificationName:TUP_CALL_REMOVE_CALL_VIEW_NOTIFY object:nil];            
        });       
    }            
    break;
     

注意事項(xiàng)

無。