UNPKG

fcr-core

Version:

Core APIs for building online scenes

69 lines (59 loc) 1.94 kB
import { FcrDualVideoStreamConfig } from './utilities/dual-video-stream-config'; import { getRtcPresetParameters } from './utilities/parameters'; /** 引擎配置类 */ export class FcrCoreEngineConfig { __json_serializable__ = true; /** 应用唯一标识 */ /** 身份验证令牌 */ /** 用户唯一标识 */ /** 服务区域 */ /** 双摄像头视频流配置 */ /** 双屏幕视频流配置 */ /** 额外参数配置 */ constructor(params) { this.appId = params.appId; this.token = params.token; this.userId = params.userId; this.region = params.region; this.dualCameraVideoStreamConfig = params.dualCameraVideoStreamConfig; this.dualScreenVideoStreamConfig = params.dualScreenVideoStreamConfig; this.parameters = params.parameters; this._prependInternalParameters(); } static createDefaultConfig(appId, token, region, userId, parameters) { return new FcrCoreEngineConfig({ appId, token, userId, region, dualCameraVideoStreamConfig: FcrDualVideoStreamConfig.createDefaultCameraConfig(), dualScreenVideoStreamConfig: FcrDualVideoStreamConfig.createDefaultScreenConfig(), parameters }); } // @internal normalize() { return { appId: this.appId, token: this.token, userId: this.userId, region: this.region, dualCameraVideoStreamConfig: this.dualCameraVideoStreamConfig, dualScreenVideoStreamConfig: this.dualScreenVideoStreamConfig, parameters: this.parameters }; } _prependInternalParameters() { const rtcPresetParameters = getRtcPresetParameters(); if (!this.parameters) { this.parameters = { rtc: rtcPresetParameters }; } else if (!this.parameters.rtc) { this.parameters.rtc = rtcPresetParameters; } else { // 将内部参数插入到数组前列 this.parameters.rtc.unshift(...rtcPresetParameters); } } }