当前位置:网站首页>JS调用摄像头
JS调用摄像头
2022-07-06 09:25:00 【星时代曹波涛】
<!doctype html>
<html lang="en">
<head>
<title>GET VIDEO</title>
<meta charset="utf-8">
</head>
<body>
<input type="button" title="开启摄像头" value="开启摄像头" onclick="getMedia()" />
<video id="video" width="500px" height="500px" autoplay="autoplay"></video>
<canvas id="canvas" width="500px" height="500px"></canvas>
<button id="snap" onclick="takePhoto()">拍照</button>
<script> //获得video摄像头区域 let video = document.getElementById("video"); function getMedia() {
let constraints = {
video: {
width: 500, height: 500}, audio: true }; /* 这里介绍新的方法:H5新媒体接口 navigator.mediaDevices.getUserMedia() 这个方法会提示用户是否允许媒体输入,(媒体输入主要包括相机,视频采集设备,屏幕共享服务,麦克风,A/D转换器等) 返回的是一个Promise对象。 如果用户同意使用权限,则会将 MediaStream对象作为resolve()的参数传给then() 如果用户拒绝使用权限,或者请求的媒体资源不可用,则会将 PermissionDeniedError作为reject()的参数传给catch() */ let promise = navigator.mediaDevices.getUserMedia(constraints); promise.then(function (MediaStream) {
video.srcObject = MediaStream; video.play(); }).catch(function (PermissionDeniedError) {
console.log(PermissionDeniedError); }) } function takePhoto() {
//获得Canvas对象 let canvas = document.getElementById("canvas"); let ctx = canvas.getContext('2d'); ctx.drawImage(video, 0, 0, 500, 500); } </script>
</body>
</html>
边栏推荐
- 差分(一维,二维,三维) 蓝桥杯三体攻击
- 学习记录:USART—串口通讯
- JS --- all basic knowledge of JS (I)
- 12306: mom, don't worry about me getting the ticket any more (1)
- Report on the market trend, technological innovation and market forecast of printing and decorative paper in China
- Jupyter installation and use tutorial
- Printing quality inspection and verification system Industry Research Report - market status analysis and development prospect forecast
- China's earthwork equipment market trend report, technical dynamic innovation and market forecast
- Research Report on medical toilet industry - market status analysis and development prospect forecast
- Learning record: understand systick system timer and write delay function
猜你喜欢

Matlab comprehensive exercise: application in signal and system

C4D quick start tutorial - Introduction to software interface

UCORE Lab 1 system software startup process

51 lines of code, self-made TX to MySQL software!

12306: mom, don't worry about me getting the ticket any more (1)

Record of force deduction and question brushing

C语言数组的概念

ucore lab7

How to build a nail robot that can automatically reply

MATLAB实例:阶跃函数的两种表达方式
随机推荐
0-1背包问题(一)
Stm32 dossiers d'apprentissage: saisie des applications
Accounting regulations and professional ethics [5]
JS --- all knowledge of JS objects and built-in objects (III)
Research Report of pharmaceutical solvent industry - market status analysis and development prospect prediction
Es6--- two methods of capturing promise status as failed
JS --- detailed explanation of JS DOM (IV)
Cost accounting [13]
China medical check valve market trend report, technical dynamic innovation and market forecast
Market trend report, technical innovation and market forecast of lip care products in China and Indonesia
Introduction to safety testing
Research Report on market supply and demand and strategy of China's land incineration plant industry
Determine the Photo Position
Research Report on market supply and demand and strategy of China's Medical Automation Industry
csapp shell lab
Learning record: how to perform PWM output
Lab 8 文件系统
Research Report on printed circuit board (PCB) connector industry - market status analysis and development prospect forecast
CSAPP shell lab experiment report
Market trend report, technical innovation and market forecast of Chinese hospital respiratory humidification equipment