首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >navigator.mediaDevices.getUserMedia权限被拒绝

navigator.mediaDevices.getUserMedia权限被拒绝
EN

Stack Overflow用户
提问于 2019-11-22 15:41:34
回答 1查看 1.3K关注 0票数 0

我正在尝试navigator.mediaDevices.getUserMedia从下拉列表中选择一个相机并使用它,下面是我的代码,它可以获取我的设备:

代码语言:javascript
复制
var video = document.getElementById('video');

    navigator.mediaDevices.enumerateDevices().then(function (devices) {
        for (var i = 0; i < devices.length; i++) {
            var device = devices[i];
            if (device.kind === 'videoinput') {
                var option = document.createElement('option');
                option.value = device.deviceId;
                option.text = device.label || 'camera ' + (i + 1);
                document.querySelector('select#videoSource').appendChild(option);
            }
        };
    });

以下是我使用相机的更换代码:

代码语言:javascript
复制
$("#videoSource").on("change", function () {

        var x = $(this).value;
        var constraints = { deviceId: { exact: x } };

        if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {

            navigator.mediaDevices.getUserMedia({ video: constraints }).then(function (stream) {
                video.srcObject = stream;
                video.play();
            });

        }

    });

当我选择使用相机的选项时,我会得到以下错误:

秘密(承诺) DOMException:拒绝许可

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-11-22 16:04:37

我已经在Stackblitz中测试了您的代码,它对我有效!

JQuery相机

为了触发select中的更改事件,我为选择添加了一个额外的选项。

也许你的问题是你拒绝了许可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58997478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档