В своем веб-приложении для мобильных устройств я хочу показать мобильную камеру с помощью мобильного браузера Firefox, я использую nodejs с экспресс-сервером в качестве сервера и подключаюсь к серверу через локальный хост со своим смартфоном.Браузер Firefox запрашивает доступ к камере, я не получаю никакой ошибки, но все еще не вижу вывод камеры.Когда я тестирую его на рабочем столе Chrome, все работает нормально.
Есть код:
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Documentl</title>
<base href="/">
<link rel="stylesheet" type="text/css" href ="main.css" >
</head>
<body>
<p id="demo"></p>
<div class="booth">
<video id= "video" autoplay></video>
</div>
<!--<script src = "script.js"></script>-->
<script>
(function(){
var video = document.getElementById("video"),
vendorUrl = window.URL || window.webkitURL;
navigator.getMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
navigator.getMedia({
video: {exact: "environment",
width: 1280,
height: 720 },
audio: false
}, function(stream) {
document.getElementById("demo").innerHTML = stream;
video.src = vendorUrl.createObjectURL(stream);
video.play();
}, function(err){
document.getElementById("demo").innerHTML = err.message;
});
})();
</script>
</body>
</html>
server.js
const express = require('express')
const app = express()
const port = 3000
app.use(express.static(__dirname + '/'));
app.get('/', (req, res) => res.sendfile('index.html'))
app.listen(port, () => console.log(`listening on port ${port}!`))
Я не использовал chrome mobile, потому что «здесь разрешены только безопасные источники»
версии:
nodejs - v8.10.0 express - 4.16.4 mobile Firefox - 63.0.2desktop chrome - 69.0.3497.100
У кого-нибудь есть идеи, как решить проблему?Если что-то неясно, задавайте вопросы.