視頻會議、視頻聊天、手機視頻、跨平臺視頻如何開發之流程篇

視頻呼叫業務邏輯主要實現兩個終端PC、手機、Pad等之間的通話請求流程控制包括請求Request、回覆Reply、開始Start以及結束Finish等過程可以形象理解爲打電話的流程撥號、等待、通話、掛斷。

     以下以AnyChat視頻呼叫業務邏輯爲例說明

 

1、業務邏輯流程圖

    請參考http://bbs.anychat.cn/forum.php?mod=viewthread&tid=150&extra=page%3D1

 

2、API接口及常量定義

客戶端相關API接口及事件回調

//視頻通話消息通知回調函數定義

typedefvoid (CALLBACK * BRAC_VideoCallEvent_CallBack)(DWORD dwEventType, DWORDdwUserId, DWORD dwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr,LPVOID lpUserValue);

 

//設置視頻通話消息通知回調函數

BRAC_APIDWORD BRAC_SetVideoCallEventCallBack(BRAC_VideoCallEvent_CallBack lpFunction,LPVOID lpUserValue);

 

//視頻呼叫事件控制請求、回覆、掛斷等

BRAC_APIDWORD BRAC_VideoCallControl(DWORD dwEventType, DWORD dwUserId, DWORDdwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr);

 

服務器相關API接口及事件回調

//視頻通話消息通知回調函數定義

typedefDWORD (CALLBACK * BRAS_OnVideoCallEvent_CallBack)(DWORD dwEventType, DWORDdwSrcUserId, DWORD dwTarUserId, DWORD dwErrorCode, DWORD dwFlags, DWORDdwParam, LPCTSTR lpUserStr, LPVOID lpUserValue);

 

//設置視頻通話消息通知回調函數

BRAS_APIDWORD BRAS_SetOnVideoCallEventCallBack(BRAS_OnVideoCallEvent_CallBacklpFunction, LPVOID lpUserValue=NULL);

 

//視頻呼叫事件控制請求、回覆、掛斷等

BRAS_APIDWORD BRAS_VideoCallControl(DWORD dwEventType, DWORD dwUserId, DWORDdwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr);

 

常量定義

/視頻呼叫事件類型定義APIBRAS_VideoCallControl傳入參數、OnVideoCallEvent回調參數

#defineBRAS_VIDEOCALL_EVENT_REQUEST 1 ///< 呼叫請求

#defineBRAS_VIDEOCALL_EVENT_REPLY 2 ///< 呼叫請求回覆

#defineBRAS_VIDEOCALL_EVENT_START 3 ///< 視頻呼叫會話開始事件

#defineBRAS_VIDEOCALL_EVENT_FINISH 4 ///< 掛斷結束呼叫會話

 

3、相關說明

3.1、客戶端APIBRAC_VideoCallControl和回調函數BRAC_VideoCallEvent_CallBack中的dwUserId均爲對方被呼叫方的用戶ID

 

3.2、被呼叫方拒絕通話時發送回覆Reply指令dwErrorCode=100104

 

3.3、被呼叫方同意通話時發送回覆Reply指令dwErrorCode=0然後服務器會向雙方發送通話開始Start指令dwParam=RoomId房間號由核心服務器自動分配

 

3.4、結束通話時任何一方包括業務服務器均可以發送結束Finish指令然後服務器會向雙方發送通話結束Finish指令

 

3.5、業務服務器可干預呼叫流程在BRAS_OnVideoCallEvent_CallBack收到呼叫請求指令後返回0表示允許呼叫否則爲出錯代碼不允許呼叫在會話過程中可以發送結束Finish指令強制掛斷指定用戶的通話

 

3.6、API接口中的dwParam整型、lpUserStr字符串均爲用戶自定義用途

 

3.7、一個用戶同時只能發起一路呼叫請求也同時只能被一個用戶呼叫

 

3.8、視頻呼叫業務流程可以脫離業務服務器由核心服務器獨立支撐可以不需要在服務器端進行二次開發。

&4&即將改變傳統的個人之間企業之間行業即時通訊交流AnyChatSDK的高品質性爲多數行業和企業更加高效通訊跨平臺性爲各種終端之間的交流提供了可能性


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章