3.2. 狀態變化事件接口 狀態變化事件接口定義在「AnyChatStateChgEvent.java」接口類中包含了SDK的用戶視頻設備狀態、音頻設備狀態、用戶聊天模式切換、P2P鏈接狀態變化等異步事件的通知。 3.2.1. 接口定義 package com.bairuitech.anychat; // AnyChat狀態變化事件通知接口 public interface AnyChatStateChgEvent { public void OnAnyChatMicStateChgMessage(INT UserId, boolean bOpenMic); public void OnAnyChatCameraStateChgMessage(INT UserId, INT State); public void OnAnyChatChatModeChgMessage(INT UserId, int bPublicChat); public void OnAnyChatActiveStateChgMessage(INT UserId, INT State); public void OnAnyChatP2PConnectStateMessage(INT UserId, INT State); } 第 16 頁 共 51 頁 AnyChat for Android SDK 開發手冊 佰銳科技 版權全部 3.2.2. 音頻設備狀態改變事件 public void OnAnyChatMicStateChgMessage(int dwUserId, boolean bOpenMic) 參數: dwUserId 表示狀態變化的用戶ID bOpenMic 表示該用戶是否已打開音頻採集設備 說明:當進入房間成功以後,當用戶使用API:UserSpeakControl操做本地音頻設備時將會觸發該接口,等同於WIN32平臺的WM_GV_MICSTATECHANGE消息。 3.2.3. 視頻設備狀態改變事件 public void OnAnyChatCameraStateChgMessage(int dwUserId, int dwState) 參數: dwUserId 表示狀態變化的用戶ID dwState 表示該用戶當前的視頻設備狀態: 0 沒有攝像頭設備 1 有攝像頭設備,但沒有打開 2 已打開攝像頭設備 說明:當進入房間成功以後,當用戶使用API:UserCameraControl操做本地視頻設備時將會觸發該接口,等同於WIN32平臺的WM_GV_CAMERASTATE消息。 3.2.4. 用戶聊天模式改變事件 public void OnAnyChatChatModeChgMessage(int dwUserId, boolean bPublicChat) 參數: dwUserId 表示狀態變化的用戶ID bPublicChat 表示該用戶當前是否爲公聊狀態,不然爲私聊狀態: 說明:當進入房間成功以後,當用戶改變聊天模式時將會觸發該接口,等同於WIN32平臺的WM_GV_CHATMODECHG消息。 第 17 頁 共 51 頁 AnyChat for Android SDK 開發手冊 佰銳科技 版權全部 3.2.5. 用戶P2P鏈接改變事件 public void OnAnyChatP2PConnectStateMessage(int dwUserId, int dwState) 參數: dwUserId 表示其它用戶ID號 dwState 表示本地用戶與其它用戶的當前P2P網絡鏈接狀態: 0 沒有任何鏈接 1 P2P鏈接成功,TCP鏈接 2 P2P鏈接成功,UDP鏈接 3 P2P鏈接成功,TCP與UDP鏈接 說明:當進入房間成功以後,與其它用戶創建P2P鏈接,或是P2P鏈接被斷開時觸發該接口,等同於WIN32平臺的WM_GV_P2PCONNECTSTATE消息。 3.2.6. 用戶視頻大小改變事件 public void OnAnyChatVideoSizeChgMessage(int dwUserId, int dwWidth, int dwHeight) 參數: dwUserId 表示狀態變化的用戶ID dwWidth 表示該用戶當前的視頻寬度 dwHeight 表示該用戶當前的視頻高度 說明:當進入房間成功以後,成功打開本地視頻設備,或是修改視頻設備採集分辨率以後將觸發該接口,等同於WIN32平臺的WM_GV_VIDEOSIZECHG消息。