Программа белого экрана внезапно - PullRequest
0 голосов
/ 09 мая 2018

Я работал несколько дней над электронным приложением. Когда я вчера закончил работать, программа работала и работала просто отлично. Я пришел сегодня утром, чтобы снова начать работать над ним, и теперь внезапно, на полпути к программе, теперь она просто белоснежная. Я ничего не менял с момента последней (последней известной) работы до последнего времени.

Я не вижу ошибок, регистрируемых в консоли powershell после запуска npm start (программа также не работает в пакетном режиме), и когда я использую элемент inspect, он просто говорит:

DevTools был отключен от страницы.

После перезагрузки страницы DevTools автоматически восстановит соединение.

Но он просто навсегда остается на этой белой странице.

На этой странице достаточно много кода (531 строка), но я не могу точно определить проблему, потому что в журнале нет ошибок. Тем не менее, я начал извлекать куски из своего кода, пытаясь заставить его работать, и я смог сузить его до кода ниже.

Что я могу сделать, чтобы исправить мое приложение?

Это код, к которому я его сузил, когда я закомментирую этот код, страница работает нормально.

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

Как ни странно, это один из первых фрагментов кода, который я написал на этой странице приложения, и он работал до сегодняшнего дня.

Я только что узнал, что если я подключу некоторые динамики, программа больше не будет белыми экранами. Но это не очень хорошее решение, потому что эта программа будет запускаться на сотнях компьютеров в день, которые могут иметь или не иметь динамики.

1 Ответ

0 голосов
/ 10 мая 2018

UPDATE ::

Хорошо, думаю, я это исправил. Чтобы попробовать это:

  1. Скачать мой форк по адресу: https://github.com/11AND2/win-audio
  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, поэтому не нужно менять код приложения.

Пожалуйста, сообщите мне, если исправление работает для вас, чтобы я мог создать запрос на извлечение для исправления. Я не являюсь создателем этого плагина, все мои изменения являются общественным достоянием.


DEPRECATED ::

Хорошо, я нашел для вас исправление. Будет ли это хорошо, если:

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

возвращает -1, если устройство не найдено?

Чтобы вы могли сделать:

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

Пожалуйста, дайте мне короткую голову, и я опубликую маршрут реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...