UNPKG

cloudhub-electron-sdk

Version:

cloudhub-electron-sdk

74 lines (73 loc) 2.81 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const log_1 = __importDefault(require("../helpers/log")); const event_1 = require("../helpers/event"); const StreamController_1 = __importDefault(require("../controllers/StreamController")); const RoomController_1 = __importDefault(require("../controllers/RoomController")); const MessageController_1 = __importDefault(require("./MessageController")); class BaseChannelController { constructor(rtcChannel) { this.rtcChannel = rtcChannel; this.room = new RoomController_1.default(); this.streamInstance = new StreamController_1.default(); this.rtcChannel.streamInstance = this.streamInstance; this.RtcChannelEvent = new event_1.Event(); this.rtcChannel.RtcChannelEvent = this.RtcChannelEvent; this.message = new MessageController_1.default(this.rtcChannel, this.room); this.message.apiCallback(); } _initialize(appId = '', config = {}) { log_1.default.info('channel初始化initialize'); this.message.apiCallback(); } _getVersion() { return this.rtcChannel.getVersion(); } _registerDeliverFrame(onCallback) { this.rtcChannel.registerDeliverFrame(onCallback); } _removeLocalVideo(deviceId, streamId) { log_1.default.info('_removeLocalVideo', 'deviceId:', deviceId, 'streamId:', streamId); this._destroyRender(streamId); this.rtcChannel.removeLocalVideo(deviceId, streamId); } _removeRemoteVideo(uid, streamId) { if (!uid) return; const stream = this.streamInstance.getStream(streamId); if (stream) { this._destroyRender(streamId); this.rtcChannel.removeRemoteVideo(uid, stream.streamId); } } _setVideoMode(viewId = '', mode = 0) { const stream = this.streamInstance.getStreamByViewId(viewId); if (stream) { stream.renderer.setContentMode(mode); } } _initRender(renderer, view) { log_1.default.info(renderer, view); if (!renderer) { return; } renderer.bind(view); } _destroyRender(streamId, onFailure) { if (!this.streamInstance.getStream(streamId)) { return; } const { renderer } = this.streamInstance.getStream(streamId); try { renderer.unbind(); this.streamInstance.delStream(streamId); } catch (e) { onFailure && onFailure(e); } } } exports.default = BaseChannelController;