Apple released a statement that getUserMedia
will be fully functional on iOS 11. After installing iOS 11 Beta version 5, I do get a message that my website requests access to my camera and microphone, but it seems that the line:
video.src = window.URL.createObjectURL(stream);
or:
video.srcObject = stream;
Does not work. No errors, no exceptions, simply no picture from the phone's camera.
Here's my full script:
$(function () {
video = document.getElementById('vid');
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia;
navigator.getUserMedia(
{
audio: true,
video: { facingMode: "user" }
}, function (stream) {
video.srcObject = stream;
//video.src = window.URL.createObjectURL(stream);
},
function (err) {
alert(err.name);
});
});
HTML:
<video id="vid" muted autoplay></video>
Has anyone got it working? Any ideas would be appreciated.
Since iOS 11, getUserMedia is supposed to finally work on Apple devices. But in fact it does not work. The JavaScript sample code below works on all other OS: Blackberry, Android, etc...
getUserMedia is not supported for safari.
getUserMedia() is a part of the webRTC media capture API and is used to get access to the camera and the microphone connected to the user device (user computer, smartphone, etc.) from the browser.
Solved it by using the following:
$(function () {
video = document.getElementById('vid');
video.style.width = document.width + 'px';
video.style.height = document.height + 'px';
video.setAttribute('autoplay', '');
video.setAttribute('muted', '');
video.setAttribute('playsinline', '');
var constraints = {
audio: false,
video: {
facingMode: 'user'
}
}
navigator.mediaDevices.getUserMedia(constraints).then(function success(stream) {
video.srcObject = stream;
});
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With