標籤:音視頻開發 流程圖 視訊通話 用戶端 電話
視訊通話商務邏輯主要實現兩個終端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&通訊跨平台性為各種終端之間的交流提供了可能性
音視頻即時通訊—視訊通話商務邏輯流程