admin管理员组文章数量:1026172
Hey im trying to build a face-ai in browser. Everything works fine on my laptop but when I try to run it on a raspberry Pi it says navigator.getUserMedia() is deprecated. I know there is a new method called MediaDevices.getUserMedia but I don't have any idea how to implement it.
Code
const video = document.getElementById('video')
Promise.all([
faceapis.tinyFaceDetector.loadFromUri('/models'),
faceapis.faceLandmark68Net.loadFromUri('/models'),
faceapis.faceRecognitionNet.loadFromUri('/models'),
faceapis.faceExpressionNet.loadFromUri('/models'),
]).then(startVideo)
function startVideo() {
navigator.getUserMedia(
{ video: {} },
stream => video.srcObject = stream,
err => console.error(err)
)
}
Hey im trying to build a face-ai in browser. Everything works fine on my laptop but when I try to run it on a raspberry Pi it says navigator.getUserMedia() is deprecated. I know there is a new method called MediaDevices.getUserMedia but I don't have any idea how to implement it.
Code
const video = document.getElementById('video')
Promise.all([
faceapis.tinyFaceDetector.loadFromUri('/models'),
faceapis.faceLandmark68Net.loadFromUri('/models'),
faceapis.faceRecognitionNet.loadFromUri('/models'),
faceapis.faceExpressionNet.loadFromUri('/models'),
]).then(startVideo)
function startVideo() {
navigator.getUserMedia(
{ video: {} },
stream => video.srcObject = stream,
err => console.error(err)
)
}
Share
Improve this question
asked Dec 8, 2019 at 12:05
JorisJoris
331 silver badge3 bronze badges
1 Answer
Reset to default 5There are a couple of methods listed on the mediaDevices.getUserMedia()
MDN page. You can access the mediaDevices
object like this:
async function getMedia(constraints) {
let stream = null;
try {
stream = await navigator.mediaDevices.getUserMedia(constraints);
/* use the stream */
} catch(err) {
/* handle the error */
}
}
Or use the promises directly:
navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
/* use the stream */
})
.catch(function(err) {
/* handle the error */
});
The below is adapted from the Examples section:
var constraints = { audio: true, video: true };
navigator.mediaDevices.getUserMedia(constraints)
.then(function(mediaStream) {
var video = document.querySelector('video');
video.srcObject = mediaStream;
video.onloadedmetadata = function(e) {
video.play();
};
})
.catch(function(err) { console.log(err.name + ": " + err.message); });
Hey im trying to build a face-ai in browser. Everything works fine on my laptop but when I try to run it on a raspberry Pi it says navigator.getUserMedia() is deprecated. I know there is a new method called MediaDevices.getUserMedia but I don't have any idea how to implement it.
Code
const video = document.getElementById('video')
Promise.all([
faceapis.tinyFaceDetector.loadFromUri('/models'),
faceapis.faceLandmark68Net.loadFromUri('/models'),
faceapis.faceRecognitionNet.loadFromUri('/models'),
faceapis.faceExpressionNet.loadFromUri('/models'),
]).then(startVideo)
function startVideo() {
navigator.getUserMedia(
{ video: {} },
stream => video.srcObject = stream,
err => console.error(err)
)
}
Hey im trying to build a face-ai in browser. Everything works fine on my laptop but when I try to run it on a raspberry Pi it says navigator.getUserMedia() is deprecated. I know there is a new method called MediaDevices.getUserMedia but I don't have any idea how to implement it.
Code
const video = document.getElementById('video')
Promise.all([
faceapis.tinyFaceDetector.loadFromUri('/models'),
faceapis.faceLandmark68Net.loadFromUri('/models'),
faceapis.faceRecognitionNet.loadFromUri('/models'),
faceapis.faceExpressionNet.loadFromUri('/models'),
]).then(startVideo)
function startVideo() {
navigator.getUserMedia(
{ video: {} },
stream => video.srcObject = stream,
err => console.error(err)
)
}
Share
Improve this question
asked Dec 8, 2019 at 12:05
JorisJoris
331 silver badge3 bronze badges
1 Answer
Reset to default 5There are a couple of methods listed on the mediaDevices.getUserMedia()
MDN page. You can access the mediaDevices
object like this:
async function getMedia(constraints) {
let stream = null;
try {
stream = await navigator.mediaDevices.getUserMedia(constraints);
/* use the stream */
} catch(err) {
/* handle the error */
}
}
Or use the promises directly:
navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
/* use the stream */
})
.catch(function(err) {
/* handle the error */
});
The below is adapted from the Examples section:
var constraints = { audio: true, video: true };
navigator.mediaDevices.getUserMedia(constraints)
.then(function(mediaStream) {
var video = document.querySelector('video');
video.srcObject = mediaStream;
video.onloadedmetadata = function(e) {
video.play();
};
})
.catch(function(err) { console.log(err.name + ": " + err.message); });
版权声明:本文标题:javascript - Navigator.getUserMedia() deprecated. How to change to MediaDevices.getUserMedia() - Stack Overflow 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/questions/1745623779a2159735.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论