Реагирует ли native-webview с помощью собственного js-кода на вызов webrtc аудио + горячие ключевые слова и распознавание речи? - PullRequest
0 голосов
/ 12 мая 2019

Я разработал код js, способный выполнять аудиовызов webrtc только в сочетании с pocketsphinxjs для распознавания речи горячими ключевыми словами.

Я объединил эту демонстрацию горячих ключевых слов с распознаванием текста (в которой используется трехлетняя версия pocketsphinxjs) с , этот webrtc вызывает только аудио и этот аудио визуализатор , со следующими модификациями:

  • Я переместил два вызова конструктора AudioContext() всего за один (и при необходимости предоставил его в качестве параметра) после успешной операции getUserMedia(), поскольку Google Chrome разрешает создание AudioContext() только после того, как пользователь дает доступ к датчикам .
  • Я также переместил операцию getUserMedia(), чтобы она запускалась с момента запуска окна window.onLoad, как в демонстрации pocketsphinxjs, для немедленного получения доступа к потоку.
  • Я ограничил кнопки «Пуск» и «Стоп» кнопками «Вызов» и «Зависание».
  • Так как pocketsphinxjs (ognizer.js + audioRecorderWorker.js) запускается в веб-работниках, и их невозможно загрузить как стандартные js-файлы , я использовал следующую команду для запуска демонстрации: python -m SimpleHTTPServer 8000

Файл main.js довольно большой (но в основном трудно читаемый), так как объединяет три демонстрации, но, похоже, работает:

gif animated of the demonstration

1) Я запускаю свое веб-приложение с помощью команды "python -m SimpleHTTPServer 8000" внутри своего каталога веб-приложений 2) Я открываю экземпляр google chrome для "localhost: // 8000" и даю доступ к своему микрофону 3) Я жду до обработчики распознавателя и записывающего устройства готовы. 4) Я нажимаю кнопку вызова и вижу визуализатор звукового графика, вывод распознавания некоторых ключевых слов "Cat", поскольку распознаватель уже скомпилирован для этого конкретного и слышу себя.

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

  1. Это модуль реакции-нативного веб-просмотра Я бы хотел использовать.
  2. Имеет ли он доступ к аудиопотоку с помощью getUserMedia() api? Если да, появляется ли оно дважды, один раз как собственное приложение, запрашивающее аудио-разрешение, а второй как браузер?
  3. Позволяет ли создание веб-работников? Если да, могут ли они порождаться через файловую систему, а не через локальный http-демон, как с моей командой python -m SimpleHTTPServer?
  4. Может ли это быть скрыто?

Кроме того, как вы думаете, это звучит как разумный технический стек, или я должен идти с чистым мобильным нативным кодом?

...