3.1.3. SDK總體介紹?

3.1.3.1. 引擎提供的方法?

  • AVDEngine.instance()
    
    AVDEngine
    │
    └──getVersion                                獲取當前引擎版本
    │
    └──setLogParams                      設置引擎日志配置
    │
    └──init                                      初始化引擎
    │
    └──uninit                                    反初始化引擎
    │
    └──setOption                                 設置引擎全局選項
    │
    │    以下為房間管理:
    │
    └──scheduleRoom                      安排房間
    │
    └──getRoomByRoomId                   根據房間Id獲取房間信息
    │
    └──getRoomByAppRoomId                根據應用層房間Id獲取房間信息
    │
    └──cancelRoom                                        刪除已安排房間
    

3.1.3.2. 房間對象方法?

  • Room room = Room.obtain(roomId);
    
    Room
           │
           └──join                                              當前用戶加入房間
           │
           └──leave                                     當前用戶離開房間
           │
           └──kickoutUser                               房間中踢出用戶
           │
           └──get... "RoomName"                 獲取房間名、房間主題等
           │
           └──sendPublicData                    透明通道,發送廣播數據
                 │
           └──sendPrivateData                           透明通道,發送私有數據
                 │
           └──updateAppData/getAppData  應用層的房間數據管理
                 │
           └──enableStats                               房間啟用或關閉流量統計功能
                 │
           └──getRoomStats/getMediaStats/getAudioStats  獲取房間的流量統計信息
           │
           └──setOption                              設置房間選項
    

3.1.3.3. 房間中用戶管理接口?

  • MUserManager um = MUserManager.getUserManager(room);
    
    MUserManager
     │
     └──getParticipants                                   獲取房間中的用戶列表
     │
     └──getSelfUserData/updateSelfUserData        本用戶的應用層數據管理
     │
     └──getSelfUser                                               獲取本用戶信息
    
          MUserManager.Listener
     │
     └──onUserJoinNotify                          用戶加入房間通知
           │
     └──onUserLeaveNotify                         用戶離開房間通知
           │
     └──onUserStatusNotify                                用戶狀態更改通知
           │
     └──onUserDataNotify                          用戶應用層數據更改通知
    

3.1.3.4. 房間中音頻功能接口?

  • MAudio audio = MAudio.getAudio(room);
    
    MAudio
           │
           └──openMicrophone/closeMicrophone                                    本地麥克風打開和關閉
                 │
           └──muteMicrophone/unmuteMicrophone                                   本地麥克風靜默
                 │
           └──muteSpeaker/unmuteSpeaker                                         揚聲器靜默
                 │
           └──monitorAudioLevel                                                         開啟語音激勵功能
    

3.1.3.5. 房間中視頻功能接口?

  • MVideo video = MVideo.getVideo(room);
    
    MVideo
           │
           └──publishLocalCamera/unpublishLocalCamera             本地攝像頭視頻打開和關閉
                 │
           └──muteLocalCamera/unmuteLocalCamera                   本地已經published或preview的視頻暫停
                 │
           └──previewLocalCamera/unpreviewLocalCamera             本地攝像頭視頻預覽
                 │
           └──subscribe/unsubscribe                                     訂閱遠端攝像頭視頻
                 │
           └──getPublishedCameras                                       獲取房間中已發布視頻攝像頭列表
                 │
           └──getSubscribedCameras                                      獲取本用戶訂閱的攝像頭視頻列表
                 │
           └──attachRender/detachRender                                 關聯視頻數據和顯示對象,在render中顯示視頻
                 │
           └──setVideoBitrate                                           設置視頻動態碼率調整的范圍,最小和最大比特率