UNPKG

nemeeting-electron-sdk

Version:

NetEase Meeting Electron SDK

114 lines (107 loc) 3.47 kB
"use strict"; var _a = require('electron'), ipcRenderer = _a.ipcRenderer, webFrame = _a.webFrame; var NERoom = require('neroom-node-sdk'); var log = require('electron-log/renderer'); var os = require('os'); var startMarvel = require('marvel-node').startMarvel; var isLocal = require('./constant').isLocal; /* const si = require('systeminformation') if (process.platform === 'win32') { si.graphics() .then((data) => { const gpus = data.controllers if (gpus && gpus.length > 0) { console.log('系统中存在 GPU 控制器', gpus) const hasHardwareGPU = gpus.some((gpu) => { // 判断是否是硬件 GPU(可以依据 `vendor`, `model`, `vram`, `bus` 等字段) return ( gpu.vram > 0 && gpu.model.toLowerCase() !== 'microsoft basic display adapter' ) }) if (hasHardwareGPU) { console.log('系统中存在硬件 GPU') } else { window.noHardwareGPU = true console.log('未检测到硬件 GPU(或仅为基础显示适配器)') } } else { window.noHardwareGPU = true console.log('未检测到任何 GPU 控制器') } }) .catch((err) => console.error(err)) .finally(() => { // 没有硬件 GPU 时,设置默认配置 if (window.noHardwareGPU) { localStorage.setItem('NE_MEETING_NO_HARDWARE_GPU', 'true') // 不支持中流 if (!localStorage.getItem('NE_MEETING_NOT_SUPPORT_MID_STREAM')) { window.localStorage.setItem( 'NE_MEETING_NOT_SUPPORT_MID_STREAM', 'true' ) } // 最大视频帧率 if (!localStorage.getItem('NE_MEETING_SUPPORT_MAX_VIDEO_FPS')) { window.localStorage.setItem('NE_MEETING_SUPPORT_MAX_VIDEO_FPS', '15') } // 渲染器类型 if (!localStorage.getItem('NE_MEETING_SUPPORT_RENDERER_TYPE')) { window.localStorage.setItem( 'NE_MEETING_SUPPORT_RENDERER_TYPE', 'software' ) } // 渲染器格式 if (!localStorage.getItem('NE_MEETING_SUPPORT_RENDERER_FORMAT')) { window.localStorage.setItem( 'NE_MEETING_SUPPORT_RENDERER_FORMAT', 'rgba' ) } } else { localStorage.removeItem('NE_MEETING_NO_HARDWARE_GPU') } }) } */ log.transports.console.format = '[{y}-{m}-{d} {h}:{i}:{s}.{ms}] {text}'; window.addEventListener('DOMContentLoaded', function () { //TODO }); if (process.platform === 'darwin') { window.startMarvel = startMarvel; } try { window.isElectronNative = true; // electron window.NERoom = NERoom; } catch (e) { console.warn('neroom-node-sdk not found'); } window.isLocal = isLocal; window.electronLog = log.info; // console.error = log.info; console.info = log.info; console.warn = log.warn; // console.debug = log.info; window.isWins32 = process.platform === 'win32'; window.platform = process.platform; window.systemPlatform = process.platform; window.ipcRenderer = ipcRenderer; window.eleProcess = process; window.webFrame = webFrame; window.isArm64 = os.arch() === 'arm64'; window.electronPopover = { show: function (items) { ipcRenderer.send('showPopover', items); }, hide: function () { ipcRenderer.send('hidePopover'); }, update: function (items) { ipcRenderer.send('updatePopover', items); }, };