台湾一级a毛片在线播放,黄色精品偷拍视频大全,精品一区二区在线欧美日韩,日本特黄一级视频播三级片,日韩美女18岁美女视频,偷偷操不一样的99,国产午夜激无码av毛片久

智慧服務(wù),成就美好體驗 項目咨詢

主頁 > 服務(wù)與支持 > 開發(fā)平臺 > 客戶端SDK參考 > Windows Native SDK > 音視頻呼叫 結(jié)束通話(或呼叫)

入門使用

結(jié)束通話(或呼叫)

更新時間:2019-11-20

描述

用戶在通話接通前可進行取消呼叫或拒絕呼叫等操作,通話過程中可以結(jié)束通話。

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

圖1 結(jié)束通話(呼叫)流程 

主叫或被叫在通話過程中掛斷呼叫

說明: 

通話雙方均可掛斷呼叫,本章節(jié)以主叫發(fā)起掛斷為例。

  1. 主叫UI調(diào)用tsdk_end_call()接口掛斷通話。
    代碼示例:
    //c code
    TSDK_RESULT ret;
    ret = tsdk_end_call(callid);
    if(TSDK_SUCCESS != ret)
    {
       LOG_D_CALL_ERROR("end call failed. result=%#x", ret);
       return -1;
    }
    return TSDK_SUCCESS;
    
     
  2. 主、被叫SDK完成呼叫掛斷信令交互,向UI上報通話結(jié)束事件TSDK_E_CALL_EVT_CALL_ENDED,UI刷新界面顯示通話結(jié)束。
    代碼示例:
    //c code
    case TSDK_E_CALL_EVT_CALL_ENDED:
    {
         CHECK_POINTER(data);
         TSDK_S_CALL_INFO* callInfo = (TSDK_S_CALL_INFO*)data;
         TSDK_S_CALL_INFO* notifyInfo = new TSDK_S_CALL_INFO;
         memset(notifyInfo, 0, sizeof(TSDK_S_CALL_INFO));
         memcpy_s(notifyInfo, sizeof(TSDK_S_CALL_INFO), callInfo, sizeof(TSDK_S_CALL_INFO));
    
         ::PostMessage(maindlg->GetSafeHwnd(), WM_CALL_END, (WPARAM)notifyInfo, NULL);
         break;
    }
    
     

 

主叫在通話接通前取消呼叫

  1. 主叫UI調(diào)用tsdk_end_call()接口取消呼叫。
    代碼示例:
    //c code
    TSDK_RESULT ret;
    ret = tsdk_end_call(callid);
    if(TSDK_SUCCESS != ret)
    {
       LOG_D_CALL_ERROR("end call failed. result=%#x", ret);
       return -1;
    }
    return TSDK_SUCCESS;
    
     
  2. 主、被叫SDK完成呼叫掛斷信令交互,向UI上報通話結(jié)束事件TSDK_E_CALL_EVT_CALL_ENDED,UI刷新界面顯示通話結(jié)束。
    代碼示例:
    //c code
    case TSDK_E_CALL_EVT_CALL_ENDED:
    {
         CHECK_POINTER(data);
         TSDK_S_CALL_INFO* callInfo = (TSDK_S_CALL_INFO*)data;
         TSDK_S_CALL_INFO* notifyInfo = new TSDK_S_CALL_INFO;
         memset(notifyInfo, 0, sizeof(TSDK_S_CALL_INFO));
         memcpy_s(notifyInfo, sizeof(TSDK_S_CALL_INFO), callInfo, sizeof(TSDK_S_CALL_INFO));
    
         ::PostMessage(maindlg->GetSafeHwnd(), WM_CALL_END, (WPARAM)notifyInfo, NULL);
         break;
    }
    
     

 

被叫在收到來電時拒絕呼叫

  1. 被叫UI調(diào)用tsdk_end_call()接口拒絕通話。
    代碼示例:
    //c code
    TSDK_RESULT ret;
    ret = tsdk_end_call(callid);
    if(TSDK_SUCCESS != ret)
    {
       LOG_D_CALL_ERROR("end call failed. result=%#x", ret);
       return -1;
    }
    return TSDK_SUCCESS;
    
     
  2. 主、被叫SDK完成呼叫掛斷信令交互,向UI上報通話結(jié)束事件TSDK_E_CALL_EVT_CALL_ENDED,UI刷新界面顯示通話結(jié)束。
    說明: 

    在實際現(xiàn)網(wǎng)部署過程中,業(yè)務(wù)服務(wù)器可能開啟了呼叫等待功能,在被叫拒絕呼叫時,業(yè)務(wù)服務(wù)器會與主叫建立通話并播放提示音“對方忙”或“對方通話中”,主叫SDK在此過程中會上報TSDK_E_CALL_EVT_CALL_CONNECTED事件,需要用戶通過主叫UI主動掛斷呼叫。

    代碼示例:
    //c code
    case TSDK_E_CALL_EVT_CALL_ENDED:
    {
         CHECK_POINTER(data);
         TSDK_S_CALL_INFO* callInfo = (TSDK_S_CALL_INFO*)data;
         TSDK_S_CALL_INFO* notifyInfo = new TSDK_S_CALL_INFO;
         memset(notifyInfo, 0, sizeof(TSDK_S_CALL_INFO));
         memcpy_s(notifyInfo, sizeof(TSDK_S_CALL_INFO), callInfo, sizeof(TSDK_S_CALL_INFO));
    
         ::PostMessage(maindlg->GetSafeHwnd(), WM_CALL_END, (WPARAM)notifyInfo, NULL);
         break;
    }
    
     

 

被叫在收到來電時未接聽

  1. 主、被叫SDK向UI上報通話結(jié)束事件TSDK_E_CALL_EVT_CALL_ENDED,UI刷新界面顯示通話結(jié)束。
    說明: 

    在實際現(xiàn)網(wǎng)部署過程中,業(yè)務(wù)服務(wù)器可能開啟了呼叫等待功能,在被叫拒絕呼叫時,業(yè)務(wù)服務(wù)器會與主叫建立通話并播放提示音“對方未接聽”,主叫SDK在此過程中會上報TSDK_E_CALL_EVT_CALL_RTP_CREATED或TSDK_E_CALL_EVT_CALL_CONNECTED事件,需要用戶通過主叫UI主動掛斷呼叫。

    代碼示例:
    //c code
    case TSDK_E_CALL_EVT_CALL_ENDED:
    {
         CHECK_POINTER(data);
         TSDK_S_CALL_INFO* callInfo = (TSDK_S_CALL_INFO*)data;
         TSDK_S_CALL_INFO* notifyInfo = new TSDK_S_CALL_INFO;
         memset(notifyInfo, 0, sizeof(TSDK_S_CALL_INFO));
         memcpy_s(notifyInfo, sizeof(TSDK_S_CALL_INFO), callInfo, sizeof(TSDK_S_CALL_INFO));
    
         ::PostMessage(maindlg->GetSafeHwnd(), WM_CALL_END, (WPARAM)notifyInfo, NULL);
         break;
    }
    
     

注意事項

無。