3.3.3. SDK总体介绍

3.3.3.1. 引擎提供的方法

  • var  AVDEngine = ModuleBase.use(ModulesEnum.avdEngine);
    var  avdEngine =new AVDEngine();
    
    avdEngine
    │
    └──getVersion()   (获取当前引擎版本)
    │
    └──checkWebrtcSupported()              (检查当前浏览器支不支持Webrtc)
    │
    └──getResolutionEnum()     (初始化视频分辩率列表)
    │
    └──setLog ()     (设置日志级别)
    │
    └──init(serverURI, accessToken).   (引擎初始化)
    │
    └──.cameraMap   (已加载的摄像头设备,可以是多个)
    │
    └──.microphoneMap   (已加载的麦克风设备,当前只能一个,可以另选择)
    │
    └──refreshDevice()   (热插拔设备后,更新获取设备)
    │
    └──setRecordingMicrophone()   (设置选定的麦克风设备)
    │
    └──room = avdEngine.obtainRoom(roomId)  (创建房间)
          │
          ├──join(userId, userName, userData, password)   (加会)
          │
          └──registerRoomCallback() (注册房间级别的回调,*见房间的回调)
          │
          └──getRoomInfo () (获取房间相关信息,*见房间提供的方法)
          │
          └──getParticipants() () (参会者列表)
                 │
                 user     (参会者列表中的每个用户)
                   │
                   ├──getUserInfo ()      (获取用户相关信息,*见用户提供的方法)
                   │
                   └──registerUserCallback() (注册用户级别的回调,*见用户的回调)
    

3.3.3.2. 房间提供的方法

  • room
          ├──.id
          └──getRoomTopic()
          └──getOwnerId()
          └──getMaxAudio()
          └──getMaxVideo()
          └──getMaxAttendee()
          └──getParticipants()
          └──.selfUser
                └.nodeId
                └.userId
                └.name
    

3.3.3.3. 用户提供的方法

  • user
     ├──.id
     └──.nodeId
     └──.name
     └──.role
     └──.videos
        ├──setLevel ()
        └──setDescription()
        └──setResolution()
        └──setFrameRate()
        └──preview()
        ├──unpreview ()
        └──publish ()
     └──.audio
        ├──openMicrophone ()
        └──closeMicrophone ()
        └──muteMicrophone ()
        └──unmuteMicrophone ()
        └──ismuteMicrophone ()
    

3.3.3.4. 房间的回调

  • room
         ├──addCallback(RoomCallback.connection_status, onConnectionStatus);
         └──addCallback(RoomCallback.room_status_notify, onRoomStatusNotify);
         └──addCallback(RoomCallback.user_join_notify, onUserJoinNotify);
         └──addCallback(RoomCallback.room_status_notify, onRoomStatusNotify);
         └──addCallback(RoomCallback.leave_indication, onLeaveIndication);
         └──addCallback(RoomCallback.app_data_notify, onAppdataNotify);
         └──addCallback(RoomCallback.user_data_notify, onUserDataNotify);
         └──addCallback(RoomCallback.public_message, onPublicMessage);
         └──addCallback(RoomCallback.private_message, onPrivateMessage);
         └──addCallback(RoomCallback.public_data, onPublicData);
         └──addCallback(RoomCallback.private_data, onPrivateData);
    

3.3.3.5. 用户的回调

  • user
     ├─addCallback(UserCallback.microphone_status_notify, onMicrophoneStatusNotify);
     └─addCallback(UserCallback.camera_status_notify, onCameraStatusNotify);
     └─addCallback(UserCallback.screen_status_notify, onScreenStatusNotify);
     └─addCallback(UserCallback.camera_data_notify, onCameraDataNotify)
     └─addCallback(UserCallback.screen_data_notify, onScreenDataNotify)
     └─addCallback(UserCallback.publish_camera_notify, onPublishCameraNotify);
     └─addCallback(UserCallback.unpublish_camera_notify, onUnpublishCameraNotify);
     └─addCallback(UserCallback.subscrible_camera_result, onSubscribleCameraResult);
     └─addCallback(UserCallback.unsubscrible_camera_result, onUnsubscribleCameraResult);
     └─addCallback(UserCallback.subscrible_microphone_result, onSubscribleMicrophoneResult);
     └─addCallback(UserCallback.unsubscrible_microphone_result, onUnsubscribleMicrophoneResult);