Apple发布了一个getUserMedia将在iOS 11上完全正常运行的声明.安装iOS 11 Beta版本5后,我收到一条消息,我的网站请求访问我的摄像头和麦克风,但似乎该行:
video.src = window.URL.createObjectURL(stream);
Run Code Online (Sandbox Code Playgroud)
要么:
video.srcObject = stream;
Run Code Online (Sandbox Code Playgroud)
不行.没有错误,没有例外,只是手机的相机没有图片.
这是我的完整脚本:
$(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);
});
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<video id="vid" muted autoplay></video>
Run Code Online (Sandbox Code Playgroud)
有没有人让它工作?任何想法,将不胜感激.
我试图在getUserMedia的帮助下访问iOS Safari上的麦克风.您可以在下面找到我的代码片段.
if (navigator.mediaDevices === undefined) {
navigator.mediaDevices = {};
}
if (navigator.mediaDevices.getUserMedia === undefined) {
navigator.mediaDevices.getUserMedia = function(constraints) {
// First get ahold of the legacy getUserMedia, if present
let getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
// Some browsers just don't implement it - return a rejected promise with an error
// to keep a consistent interface
if (!getUserMedia) {
return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
}
// Otherwise, wrap the call to the old …Run Code Online (Sandbox Code Playgroud)