#javascript #electron #hybrid-mobile-app #angular-hybrid
#javascript #electron #гибридное мобильное приложение #angular-гибридный
Вопрос:
У меня есть веб-приложение electron, и я хочу внедрить камеру на одной из страниц.
Проблема в том, что в последнее время по соображениям безопасности к веб-камере можно получить доступ только через «https». Но в случае приложения Electron, где приложение обслуживается локально, схема отличается, и поэтому потоковая передача завершается сбоем. Итак, мой вопрос:
Есть ли какое-нибудь хорошее решение для реализации веб-камеры внутри electron?
Если нет, то какое решение, отличное от веб-камеры, может сработать?
Комментарии:
1. Когда я ищу «electron camera», я получаю множество соответствующих результатов. ( Это и это входят в первые пять, например.) Они не отображались в вашем поиске? Или была какая-то проблема с применением того, что они демонстрируют?
2. @T.J. Crowder Нет, на самом деле я видел много из них (обе ваши ссылки), но, как я уже упоминал, недавно было введено требуемое безопасное соединение. Это будет нормально работать при разработке (localhost), но не на производстве, и это из-за протокола
3. Если вы говорите, что раньше это работало, а теперь нет из-за нового требования к HTTPS, я не вижу в этом ошибки , если только это не этот . Если да, то это открытая ошибка, не уверен, что вы сможете что-то сделать, пока она не будет исправлена.
4. @T.J.Crowder на самом деле я протестировал его, и он будет работать со схемой «file», но мы настроили пользовательскую схему, и с ней не работает, не уверен, чего не хватает, хотя
Ответ №1:
Я отвечаю на свой собственный вопрос на случай, если это поможет кому-то еще. В моем случае у a была пользовательская схема вместо стандартной, которая есть file
но я чего-то не хватало. Я обнаружил, что мне просто нужно добавить: { secure: true }
inside registerStandardSchemes
(версия 4). Это дает electron знать, что эта схема безопасна и этого достаточно для работы веб-камеры.
Просмотрите документацию по electron для получения дополнительной помощи
Комментарии:
1. не могли бы вы поделиться каким-нибудь кодом, как заставить его работать для камеры, пожалуйста? у меня такая же проблема, не могу понять, что делать
2. @JuliverGalleto Я предполагаю, что это было недавно изменено на ‘registerSchemesAsPrivileged’. Вы должны установить
protocol.registerSchemesAsPrivileged([{scheme: 'YOUR_SCHEME', privileges: {standard: true, secure: true}} ])
. Надеюсь, это поможет.3. спасибо за ваш ответ, в моем случае я работаю над этим на устройстве raspberry pi, оно не может найти модуль камеры, поэтому я решил вместо этого перейти на python.