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                                           设置视频动态码率调整的范围,最小和最大比特率