首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >取消getUserMedia请求

取消getUserMedia请求
EN

Stack Overflow用户
提问于 2013-01-24 09:29:12
回答 2查看 1.4K关注 0票数 9

我的应用程序中有一个模式对话框,它使用getUserMedia显示用户相机中的视频。这会导致出现“拒绝/允许”栏。假设用户在单击“拒绝”或“允许”之前关闭了对话框。即使要使用它的元素已经消失,该栏仍然存在。

有没有办法通知浏览器它可以隐藏权限请求,即使用户从未与之交互过?

EN

回答 2

Stack Overflow用户

发布于 2015-01-08 08:02:02

当用户关闭您的对话框时,请使用以下命令重新加载页面以清除权限请求:

代码语言:javascript
复制
  location.reload();

我已经在Firefox和Chrome41 (Canary)上测试过了,它在那里工作。

注意:Chrome39(在写这篇文章时的当前版本)似乎有一个bug,它不能很好地工作。当我第一次导航到页面时,它不会工作,但在手动刷新页面一次后,它开始工作。

我意识到这个答案可能不会立即有用,但一旦Chrome41发布,它就应该可以工作了。

在不重新加载页面的情况下,目前无法清除权限提示。

票数 2
EN

Stack Overflow用户

发布于 2014-01-03 05:28:45

我认为你想要这样的东西:

代码语言:javascript
复制
    $("body").on('click', "#stop_button", function(e) {
        e.preventDefault();
        mediaStream.stop();
     });

mediaStream是我在调用getUserMedia时定义的全局变量

代码语言:javascript
复制
        navigator.getUserMedia(
            {
              video: true,
              audio: false
            },
            function(stream) {
              if (navigator.mozGetUserMedia) {
                video.mozSrcObject = stream;
              } else {
                var url = window.URL || window.webkitURL;
                video.src = url ? url.createObjectURL(stream) : stream;
              }
              mediaStream = stream;
              video.play();
            },
            function(error) {
              console.log("ERROR: " + error);
            }
        );

因此,在您的示例中,当对话框关闭时,您将在媒体流上调用stop() -您必须为此创建一个事件处理程序。

请查看此Tutorial on getUserMedia以获得完整的工作示例和现场演示。

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

https://stackoverflow.com/questions/14492450

复制
相关文章

相似问题

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