nemeeting-electron-sdk
Version:
NetEase Meeting Electron SDK
114 lines (107 loc) • 3.47 kB
JavaScript
"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);
},
};