返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript中怎么访问设备摄像头
  • 904
分享到

JavaScript中怎么访问设备摄像头

2024-04-02 19:04:59 904人浏览 八月长安
摘要

javascript中怎么访问设备摄像头,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如何使用相机要访问用户的相机(或麦克风),我们使用Jav

javascript中怎么访问设备摄像头,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

如何使用相机

要访问用户的相机(或麦克风),我们使用JavaScript MediaStream api。该API允许通过流访问这些设备捕获的视频和音频。

第一步是检查浏览器是否支持此API:

if (   "mediaDevices" in navigator &&   "getUserMedia" in navigator.mediaDevices ) {   // ok, 浏览器支持它 }

在现代浏览器中,支持是不错的(当然没有Internet Explorer)。

捕获视频流

要捕获由摄像机生成的视频流,我们使用 mediaDevices 对象的 getUserMedia  方法。这个方法接收一个对象,其中包含我们要请求的媒体类型(视频或音频)和一些要求。首先,我们可以通过 {video: true} 来获取摄像机的视频。

const videoStream = await navigator.mediaDevices.getUserMedia({ video: true });

此调用将询问用户是否允许访问摄像机。如果用户拒绝,它将引发异常并且不返回流。因此,必须在 try/catch 块内完成处理这种情况。

JavaScript中怎么访问设备摄像头

请注意,它返回一个Promise,因此您必须使用 async/await 或 then 块。在Mac OS系统上还会弹出授权。

JavaScript中怎么访问设备摄像头

没错,我使用的是Mac版的Edge浏览器

点击“好”,就可以访问电脑摄像头了,控制台输出的 videoStream 对象如下

JavaScript中怎么访问设备摄像头

视频规格(requirements)

我们可以通过传递有关所需分辨率以及最小和最大限制的信息来改善视频的要求:

const constraints = {   video: {     width: {       min: 1280,       ideal: 1920,       max: 2560,     },     height: {       min: 720,       ideal: 1080,       max: 1440,     },   }, };  const videoStream = await navigator.mediaDevices.getUserMedia(constraints);

这样,流以正确的宽度和高度比例进入,如果它是处于纵向模式的手机,则需要进行尺寸反转。

在页面上显示视频

既然有了流,我们该如何处理?

我们可以在页面上的 video 元素中显示视频:

// 页面中有一个 <video autoplay id="video"></video> 标签 const video = document.querySelector("#video"); const videoStream = await navigator.mediaDevices.getUserMedia(constraints); video.srcObject = videoStream;

请注意 video 标签中的自动播放属性 autoplay,没有它,你需要调用 video.play() 才能真正开始显示图像。

JavaScript中怎么访问设备摄像头

访问手机的前后摄像头

默认情况下,getUserMedia 将使用系统默认的视频录制设备。如果是有两个摄像头的手机,它使用前置摄像头。

要访问后置摄像头,我们必须在视频规格中包括 faceModeMode:"environment":

const constraints = {   video: {     width: { ... },     height: { ... },     facingMode: "environment"   }, };

默认值为 faceingMode:"user",即前置摄像头。

需要注意的是,如果你想在已经播放视频的情况下更换摄像机,你需要先停止当前的视频流,然后再将其替换成另一台摄像机的视频流。

videoStream.getTracks().forEach((track) => {   track.stop(); });

截屏

你可以做的另一件很酷的事情是捕获视频的图像(屏幕快照)。

你可以在canvas上绘制当前视频帧,例如:

// 页面中有一个 <canvas id="canvas"></canvas> 标签 const canvas = document.querySelector("#canvas"); canvas.width = video.videoWidth; canvas.height = video.videoHeight; canvas.getContext("2d").drawImage(video, 0, 0);

你还可以在 img 元素中显示画布内容。

在本教程创建的示例中,我添加了一个按钮,该按钮可从画布动态创建图像并将其添加到页面:

const img = document.createElement("img"); img.src = canvas.toDataURL("image/png"); screenshotsContainer.prepend(img);

完整代码

在线效果及源代码,源代码并不多,很简单,相信只要有点Javascript基础都能看懂。需要的请复制下面的链接,或私信关键字:摄像头。

JavaScript中怎么访问设备摄像头

https://coding.zhangbing.site/view.html?url=./list/camera-api/index.html

手机QQ中浏览效果

JavaScript中怎么访问设备摄像头

看完上述内容,你们掌握JavaScript中怎么访问设备摄像头的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网JavaScript频道,感谢各位的阅读!

--结束END--

本文标题: JavaScript中怎么访问设备摄像头

本文链接: https://lsjlt.com/news/70227.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript中怎么访问设备摄像头
    JavaScript中怎么访问设备摄像头,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如何使用相机要访问用户的相机(或麦克风),我们使用Jav...
    99+
    2024-04-02
  • 云服务器怎么用摄像头监控设备的摄像
    云服务器中的摄像头可以通过网络访问,以便监控设备的状态和活动。以下是一些常见的用摄像头监控设备的摄像功能: Dropout:在摄像头监控设备中,您可以使用Dropout(暂停)功能将其从服务或应用程序的网络位置中移除,以避免占用过多带宽...
    99+
    2023-10-27
    摄像头 监控设备 服务器
  • 云服务器怎么用摄像头监控设备的摄像机
    使用摄像头监控设备时,需要先连接摄像头并将其接入云服务器。在连接摄像头时,需要将摄像头的IP地址、端口号、协议等信息与云服务器进行绑定,以便云服务器可以通过网络将摄像头的视频数据推送到指定的监控场所。在绑定IP地址时,需要根据实际情况选择合...
    99+
    2023-10-28
    摄像机 摄像头 监控设备
  • 云服务器怎么用摄像头监控设备的摄像机看
    使用云服务器来进行摄像头监控 云服务器是一种常见的云计算服务,可以提供大量的计算资源和存储空间,以及高度可扩展性和可管理性。使用云服务器来进行摄像头监控非常方便,只需要将摄像头设备上传到云服务器上,然后将摄像头数据上传到云服务器的服务器端...
    99+
    2023-10-27
    摄像机 摄像头 监控设备
  • 云服务器怎么连接摄像头设备
    如果您的云服务器提供支持连接摄像头设备,您可以通过以下步骤连接摄像头设备: 打开您的云存储服务(例如:Dropbox Drive或其他在线服务),并将文件添加到您选择的文件夹中。 登录您的云存储账户并选择要连接的摄像头设备。 在出现的“...
    99+
    2023-10-26
    摄像头 服务器 设备
  • 云服务器怎么用摄像头监控设备录像
    使用云服务器来录制设备录像的具体方法可能因云服务器的功能和使用场景而异。以下是一些可能适用的步骤和建议: 步骤一:登录云服务器。在需要录制视频的设备上,使用“录制按钮”或“开始录制”按钮进行登录。 步骤二:选择需要录制的文件夹。在云服务器...
    99+
    2023-10-26
    摄像头 录像 监控设备
  • 云服务器怎么用摄像头监控设备
    使用云服务器来监控设备是非常常见的,以下是一些使用摄像头监控设备的简单步骤: 打开摄像头: 打开电脑中的摄像头(如谷歌Camera、Camera360等),然后在浏览器中搜索摄像头并登录。 设置监视选项: 在摄像头控制页面中,选择...
    99+
    2023-10-26
    摄像头 监控设备 服务器
  • 云服务器怎么连接摄像头设备上
    如果您的云服务器提供支持连接摄像头设备,您可以通过以下步骤连接摄像头设备: 打开您的云存储服务(例如:Dropbox,Google Drive或Microsoft Cloud)。 在您的云存储服务登录界面,点击左侧的“登录”按钮。 点击...
    99+
    2023-10-26
    摄像头 服务器 设备
  • 云服务器怎么用摄像头监控设备的摄像功能打开
    一、安装云服务器 要想使用摄像头监控设备的摄像功能,首先需要在云服务器上安装一个名为"MyController"的新用户。这个用户可以是个人用户或者企业用户,在登录之后,可以创建一个名为"my_view"的新视图,这个视图可以用于查看云服...
    99+
    2023-10-28
    摄像头 监控设备 功能
  • 云服务器怎么用摄像头监控设备录像的
    使用云服务器来录制设备录像是非常有用的,因为它可以让您在任何地方实时监测和记录设备运行情况。以下是一些使用云服务器进行录制设备录像的步骤和方法: 连接设备:首先需要将云服务器与您的设备连接起来。在开始录制之前,请确保您的设备已经与网络连...
    99+
    2023-10-27
    摄像头 录像 监控设备
  • 云服务器怎么用摄像头监控设备的录像
    使用云服务器来监控设备的录像,需要注意以下几点: 选择可靠的云服务器提供商:选择提供高质量视频存储和视频录制功能的云服务器提供商,这样可以确保录像的质量和稳定性。 使用云服务器提供的录像功能:录像可以在云服务器上进行录制,这样可以确保所...
    99+
    2023-10-27
    摄像头 录像 监控设备
  • 云服务器怎么使用摄像头监控设备
    使用云服务器来监控摄像头设备的方法非常简单,以下是一些基本步骤:连接摄像头设备:首先要确保您的计算机具有互联网连接,并通过 https://ipcamera.com/ 进行连接。设置摄像头设备:首先需要在您的计算机上设置一个网络摄像头,然后...
    99+
    2023-10-26
    摄像头 监控设备 服务器
  • 云服务器怎么调用摄像头监控设备
    要使用云服务器来调用摄像头监控设备,您需要在云服务器上安装相应的API。以下是在云服务器上使用API的一般步骤: 打开并登录您的AWS云服务器。 在您的API页面上,找到“Directory”页面,这将是您要调用摄像头监控设备的云服务器...
    99+
    2023-10-26
    摄像头 监控设备 服务器
  • 云服务器怎么用摄像头监控设备的
    使用云服务器来监控设备通常可以分为以下几步: 安装必要的监控软件(如 Google Cloud、Amazon Elastic、Open Hosting),以监控设备的运行情况和网络连接等。 登录云服务器并设置监控设置。通常需要将监控设置...
    99+
    2023-10-26
    摄像头 监控设备 服务器
  • 云服务器怎么连接摄像头监控设备
    如果您要连接云服务器,请确保在您的网络连接中启用了 HTTPS(安全套接字层) 协议,以确保该服务器上的所有监控摄像头的连接都是加密的,以防止未经授权的访问或篡改。您可以使用以下步骤来启用 HTTPS 连接: 启用 HTTPS 连接:在...
    99+
    2023-10-26
    摄像头 监控设备 服务器
  • 云服务器怎么连接摄像头设备管理
    云服务器上的摄像头设备管理是非常复杂的,需要遵循以下步骤: 下载和安装软件:在云服务提供商的网站或者客户端中找到摄像头应用程序并下载并安装。这将允许用户连接并管理他们的摄像头设备。 连接摄像头设备:在连接过程中,需要使用摄像头设备的IP...
    99+
    2023-10-26
    设备管理 摄像头 服务器
  • 云服务器怎么连接摄像头设备教程
    首先,需要确定您想连接的摄像头设备是否支持云服务器,如果支持,那么可以直接使用其API接口进行连接。 如果不支持云服务器,需要准备以下几个相关的连接信息: 设备IP地址、MAC地址和端口号 云服务器IP地址、域名和端口号 云服务器端...
    99+
    2023-10-26
    摄像头 服务器 教程
  • 本地摄像头怎么连接云服务器设备
    下面是一种简单的连接方式: 首先,我们需要准备好摄像头所需要的硬件设备,比如摄像头模组、电源、数据传输线等等。 接着,我们需要安装云服务器提供的控制端软件,在控制端软件中设置好本地云服务器的IP地址和端口号。 然后,在本地的云服务器上安...
    99+
    2023-10-28
    摄像头 服务器 设备
  • Android设备虚拟摄像头技术实现
      实际生活中经常遇到要使用一个摄像头做多个事情的情况,但在开发中,一个摄像头只能被一个应用程序所占有,当一个应用程序在使用摄像头时,其他所有应用程序都无法在使用这个摄像头。怎...
    99+
    2022-06-06
    摄像 摄像头 Android
  • linuxusb摄像头设备信息查看方式
    目录linux usb摄像头设备信息查看linux usb摄像头索引的获取原理与实现总结linux usb摄像头设备信息查看 linux下usb摄像头操作,离不开v4l2框...
    99+
    2023-05-19
    linux usb摄像头 linux查看摄像头信息 usb摄像头设备信息
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作