【问题标题】:Program white-screening all of a sudden突然程序白屏
【发布时间】:2018-05-11 16:58:09
【问题描述】:

我已经在电子应用程序上工作了几天。当我昨天完成一天的工作时,程序运行良好。我今天早上进来重新开始工作,现在突然在程序进行到一半时,它现在只是白屏。从上次工作(最后一次工作)到当前时间,我没有更改任何内容。

在运行npm start 后,我没有看到任何错误被记录到 powershell 控制台(程序也无法打包),当我使用检查元素时它只是说:

DevTools 与页面断开连接。

页面重新加载后,DevTools 会自动重新连接。

但它只是永远停留在这个白页上。

这个页面有很多代码(531 行),但我完全无法确定问题所在,因为没有记录任何错误。话虽如此,我开始从我的代码中提取部分内容以使其正常工作,并且能够将其范围缩小到下面的代码。

我可以做些什么来修复我的应用程序?

这是我缩小范围的代码,当我注释掉这段代码时,页面运行正常。

var audio = require('win-audio').speaker;

奇怪的是,这是我在此应用程序页面中编写的第一批代码之一,它一直有效到今天。

我刚刚发现,如果我插入一些扬声器,程序就不再出现白屏。但这并不是一个很好的解决方案,因为该程序每天将在数百台可能有也可能没有扬声器的计算机上运行。

【问题讨论】:

    标签: electron


    【解决方案1】:

    更新::

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

    1. https://github.com/11AND2/win-audio下载我的fork
    2. 在您的终端中将 dir (cd) 更改为目录,例如"cd C:\...\win-audio"
    3. 运行命令“npm run install” - 这将重建模块
    4. 要对其进行测试,请运行“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,所以应该不需要更改您的应用程序代码。

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


    已弃用::

    好的,我已经为您找到了解决方法。是否可以:

    var audio = require('win-audio').speaker;
    

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

    所以你可以这样做:

    if (audio !== -1) {
       audio.set(30);
    }
    

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

    【讨论】:

    • 没关系。
    • 我现在遇到错误 - A dynamic link library (DLL) initialization routine failed.
    • 如果在“npm run install”期间发生这种情况,您的系统是否能够构建 c++ 插件?如果您在 Windows 上,您是否安装了 Visual Studio 和 Python?
    • 不,它会在那之后发生。当我运行我的 Electron 应用程序并进入使用该代码的页面时,就会发生这种情况。我很确定它的构建没有问题,因为我没有收到任何错误
    • 它在纯节点(不是电子)应用程序/演示中工作吗?如果是,则可能是您需要为电子重建它。例如,在 win-audio package.json 中,您可以创建一个新的“脚本”选项,例如:“install_vele”:“node-gyp rebuild --target=X.X.X --arch=x64 --dist-url=atom.io/download/electron” (用您的电子版本替换 X.X.X)。然后执行“npm run install_vele”。
    猜你喜欢
    • 2018-06-23
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 2023-03-08
    • 2018-10-18
    • 1970-01-01
    • 2020-05-14
    • 2023-03-24
    相关资源
    最近更新 更多