首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Outlook-Addin访问用户的系统摄像头

通过Outlook-Addin访问用户的系统摄像头
EN

Stack Overflow用户
提问于 2020-12-04 05:24:34
回答 1查看 67关注 0票数 0

我的目标是开发一个Outlook插件使用脚本实验室,允许用户通过电子邮件录制视频。我目前的目标是让用户点击一个按钮,该按钮将打开他们的相机并显示其输出。在浏览器(即Chrome)上访问摄像头时,我可以通过以下代码访问用户的系统摄像头:

index.html

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>video app</title>
  </head>



  <body>
    <!-- HTML DISPLAY CODE -->
    <video id="video" src=""></video>
    <button onclick="openCamera()">start recording</button>

    <!-- JS LOGIC -->
    <script src="index.js"></script>
  </body>
</html>

index.js

代码语言:javascript
复制
 function openCamera() {
    const constraints = {
        video: true,
        audio: false
      }
    navigator.mediaDevices.getUserMedia(constraints)
      .then(mediaStream => {
        var video = document.querySelector("video");
        video.srcObject = mediaStream;
        video.onloadedmetadata = function(e) {
          video.play();
        };
      })
      .catch(error => {
        console.log(error.name + ":" + error.message);
      })
  
  }

当运行与Outlook外接程序相同的脚本时(在script Lab上以及运行本地npm dev-server),对相机的请求直接转到catch块,甚至没有提示用户是否允许。这是输出:

代码语言:javascript
复制
PermissionDeniedError: null

我的问题是:我需要如何更改上面的代码才能通过Outlook-Addin实现相机功能

JSFiddle that illustrates my intended outcome:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-05 09:16:48

此错误是由于用于运行外接程序的基础浏览器控件的限制造成的。我相信Outlook正在使用Internet Explorer或Microsoft Edge (不是基于Chromium的)。如果您的配置中Outlook使用新的基于Chromium的Edge浏览器来运行外接程序,则不应出现此错误。有关Outlook外接程序的配置/浏览器的文档可以在here中找到。

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

https://stackoverflow.com/questions/65134380

复制
相关文章

相似问题

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