javascript - 如果移动浏览器不支持 getUserMedia() 则发出警报

标签 javascript webrtc getusermedia navigator

我有一个网页请求使用麦克风。我知道 getUserMedia() 对移动浏览器的支持很少或根本不支持,但我正在尝试找出一种方法让查看者知道他们需要在受支持的浏览器上访问该网站。我试图不使用屏幕大小媒体查询来支持我慢慢进入。

var onSuccess = function (stream) {
    alert('success');
};


navigator.getUserMedia = ( navigator.getUserMedia ||
                       navigator.webkitGetUserMedia ||
                       navigator.mozGetUserMedia ||
                       navigator.msGetUserMedia);
var constraints = { 
    video: false,
    audio: true
};
if (navigator.getUserMedia) {
    navigator.getUserMedia (
    constraints,
    onSuccess,
    function (error) {
        alert("Error: you need to allow access to use the microphone.",error)
    });
};

这很奇怪,因为页面加载正常,就好像 getUserMedia() 可用,但没有弹出“允许访问”消息?

最佳答案

如果也没有 getUserMedia,您应该需要发出警报:

var onSuccess = function(stream) {
    alert('Success!');
}

var onError = function(error) {
    alert('Error :(');
}

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia ||
navigator.msGetUserMedia;

if (navigator.getUserMedia) {
    navigator.getUserMedia({ video: false, audio: true }, onSuccess, onError);
} else {
    onError();
}

另请查看MediaDevices.getUserMedia

关于javascript - 如果移动浏览器不支持 getUserMedia() 则发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32738187/

相关文章:

html - 现在是否可以使用 GetUserMedia API 从网络摄像头读取视频流并将其直接发送到服务器以进行进一步广播?

javascript - JS : Replace some fields of an specific object inside of an array

javascript - JSON 对象创建和 JSON 数组操作

sip - 使用 webrtc 时可以关闭 SRTP

javascript - WebRTC getUserMedia 不显示视频

javascript - 在 JS 中将 AudioStreamTrack 静音

javascript - 如何根据多个条件过滤嵌套的对象数组?

javascript - 使用 location.href 来处理缓慢的请求

java - Android WebView 中的 WebRTC 使用 NextRTC Spring Signaling Server

html - 是否可以为 HTML5 API 创建自定义用户权限请求对话框?