Skip to content

Commit 05bb0b5

Browse files
committed
终极版
1 parent ebbac98 commit 05bb0b5

2 files changed

Lines changed: 9 additions & 29 deletions

File tree

‎main.js‎

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@ const videoElement = document.querySelector('video');
44
const videoSelect = document.querySelector('select#videoSource');
55
const selectors = [videoSelect];
66

7-
let video = document.querySelector('video');
87
let canvas = document.getElementById('canvas');
98
let context1 = canvas.getContext('2d');
109

10+
videoElement.addEventListener('canplay', function () {
11+
canvas.width = this.videoWidth;
12+
canvas.height = this.videoHeight;
13+
console.log('this', this)
14+
});
1115

1216
function gotDevices(deviceInfos) {
1317
const values = selectors.map(select => select.value);
@@ -17,7 +21,6 @@ function gotDevices(deviceInfos) {
1721
}
1822
});
1923
for (let i = 0; i !== deviceInfos.length; ++i) {
20-
2124
const deviceInfo = deviceInfos[i];
2225
const option = document.createElement('option');
2326
option.value = deviceInfo.deviceId;
@@ -75,14 +78,5 @@ start();
7578

7679
//拍照
7780
photograph.addEventListener("click", () => {
78-
// if (!this.isOpenCamera) return alert("请开启摄像机权限")
79-
80-
let img = new Image();
81-
img.src = "";
82-
img.onload = function (ev) {
83-
context1.drawImage(img, 0, 0);
84-
}
85-
86-
context1.drawImage(video, 50, 50); //将video对象内指定的区域捕捉绘制到画布上指定的区域,实现拍照。
87-
context1.drawImage(img, 50, 50);
81+
context1.drawImage(video, 0, 0); //将video对象内指定的区域捕捉绘制到画布上指定的区域,实现拍照。
8882
})

‎userMedia.html‎

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,8 @@
1111
<head>
1212

1313
<meta charset="utf-8">
14-
<meta name="description" content="WebRTC code samples">
1514
<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1, maximum-scale=1">
16-
<meta itemprop="description" content="Client-side WebRTC code samples">
17-
<meta itemprop="image" content="../../../images/webrtc-icon-192x192.png">
18-
<meta itemprop="name" content="WebRTC code samples">
19-
<meta name="mobile-web-app-capable" content="yes">
20-
<meta id="theme-color" name="theme-color" content="#ffffff">
21-
22-
<base target="_blank">
23-
24-
<title>Select audio and video sources</title>
25-
26-
<link rel="icon" sizes="192x192" href="../../../images/webrtc-icon-192x192.png">
27-
<link href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet" type="text/css">
28-
15+
<title>浏览器拍照</title>
2916

3017
<style>
3118
.wrapper {
@@ -63,8 +50,7 @@
6350
</head>
6451

6552
<body>
66-
<div id="container">
67-
53+
<div class="wrapper">
6854
<div class="select">
6955
<label for="videoSource">切换摄像头: </label><select id="videoSource"></select>
7056
</div>
@@ -73,7 +59,7 @@
7359

7460
<button title="拍照" id="photograph">拍照</button>
7561

76-
<canvas id="canvas" class="canvas" width="700" height="530"></canvas>
62+
<canvas id="canvas" class="canvas"></canvas>
7763
</div>
7864

7965
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>

0 commit comments

Comments
 (0)