Текст в речь без графического интерфейса браузера - PullRequest
1 голос
/ 14 июня 2019

Я проектировал в HTML, чтобы создать приложение с графическим интерфейсом. Я создал несколько сценариев для этого - в частности, тот, который использует окно браузера Speech Synthesis Utterance.

Внезапно, однако, масштаб проекта изменился, и мне нужно покончить с GUI, но оставить скрипт TTS работающим как фоновый процесс. Я все еще новичок в программировании, поэтому я попытался открыть скрипт с помощью node.js, но это не сработало. Выражение запрограммировано на чтение определенного файла XML. По сути, все, что я хочу сделать, это покончить с аспектом браузера HTML и сохранить JavaScript. Это возможно? У кого-нибудь есть какие-либо предложения о том, как я мог бы подойти к этому?

Я пытался открыть скрипт только в node.js Я посмотрел в element.js, но он "не кажется" тем, чем я хочу.

            var msg = new SpeechSynthesisUtterance("Testing");


            var voices = window.speechSynthesis.getVoices();
            var voice = speechSynthesis.getVoices();
            speechSynthesis.getVoices().forEach(function(voice) {
                console.log(voice.name, voice.default ? voice.default : '');
            });

            msg.pitch = 1.1;
            msg.volume = 1;
            msg.rate = 0.85;
            msg.lang = 'en-US';
            msg.voice = voices[1];
            window.speechSynthesis.speak(msg);

Фактические результаты - открывает веб-браузер и начинает говорить (есть HTML-файл) Ожидаемые результаты, которые я хочу - Нет веб-браузера, просто поговорите, когда файл открыт (может быть?)

1 Ответ

0 голосов
/ 14 июня 2019

Попробуйте Electron с прозрачным безрамным окном.

Electron упаковывает Node и Chromium для настольных приложений.

Я только что попробовал это, и это сработало для меня:

git clone https://github.com/electron/electron-quick-start
# Go into the repository
cd electron-quick-start
# Install dependencies
npm install

Отредактируйте renderer.js и вставьте свой код выше.

Редактировать окно в main.js

  mainWindow = new BrowserWindow({
      width: 800,
      height: 600,
      frame: false,
      transparent: true,
      webPreferences: {
         preload: path.join(__dirname, 'preload.js')
      }
  })

Затем оставьте все пустым в index.html

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