electron - 突然程序白屏

标签 electron

我已经在 Electron 应用程序上工作了几天。当我昨天完成一天的工作时,程序运行良好。我今天早上进来重新开始工作,现在突然在程序进行到一半时,它现在只是白屏。从上次工作(最后一次已知工作)到当前时间,我没有改变任何东西。
运行 npm start 后,我没有看到任何错误记录到 powershell 控制台(程序也不能打包工作),当我使用检查元素时,它只是说:

DevTools was disconnected from the page.

Once page is reloaded, DevTools will automatically reconnect.


但它只是永远坐在这个白页上。
这个页面有很多代码(531 行),但我完全无法查明问题,因为没有记录任何错误。也就是说,我开始从我的代码中提取一些片段,试图让它工作,并且我能够将它缩小到下面的代码。
我可以做些什么来修复我的应用程序?
这是我缩小范围的代码,当我注释掉这段代码时,页面运行良好。
var audio = require('win-audio').speaker;
奇怪的是,这是我在此应用程序页面中编写的第一批代码之一,它一直有效到今天。
我刚刚发现,如果我插入一些扬声器,程序不再出现白屏。但这并不是一个很好的解决方案,因为这个程序每天将在数百台可能有也可能没有扬声器的计算机上运行。

最佳答案

更新::

好的,我想我已经解决了。尝试一下:

  • 下载我的 fork :https://github.com/11AND2/win-audio
  • 在您的终端中将 dir (cd) 更改为目录,例如"cd C:\...\win-audio"
  • 运行命令“npm run install” - 这将重建模块
  • 要对其进行测试,请运行“node sample.js”并激活/禁用您的音频设备

  • 如果在任何时候您想检查设备是否还活着,只需运行
    var audio = require('win-audio').speaker;
    var _vol_alive = audio.get();
    if (_vol_alive === -999) {
       console.log("this device is dead :-(");
    }
    

    在您的应用程序中。请注意,我根本没有更改 API,因此不需要更改您的应用程序代码。

    如果修复对您有用,请提醒我,以便我可以为修复创建拉取请求。我不是这个插件的创建者,我所有的更改都是公共(public)领域的。

    已弃用::

    好的,我已经为您找到了解决方法。如果:
    var audio = require('win-audio').speaker;
    

    如果没有找到设备返回-1?

    所以你可以这样做:
    if (audio !== -1) {
       audio.set(30);
    }
    

    请给我一个简短的提示,我将发布实现路线。

    关于electron - 突然程序白屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50254386/

    相关文章:

    angular - 防病毒软件不允许运行使用Angle 10+和Electronic创建的已安装应用程序

    javascript - 在 Electron/NodeJS 应用程序中捕获命令行响应

    javascript - 用于 html/javascript 项目的可移植数据库

    webpack - 带有 sqlite3 和 webpack 的 Electron 打包器

    javascript - 如何从 Electron 获取 N-api

    javascript - 无对话的 Electron 打印(无声打印)

    javascript - 如何在 Electron 中为 OSX 打包自定义图标

    带有 C++ 后端的 Electron - 安全吗?

    javascript - 从主进程向所有渲染进程 Electron 广播事件

    node.js - 如何将上下文传递到自定义对话框?