用 WebRTC 给自己拍张照

本文介绍了如何使用WebRTC的MediaDevices.getUserMedia接口打开摄像头,获取视频流,并将其显示在canvas元素中。接着,通过canvas的toDataURL方法生成画面图片,并实现拍照、清空和下载功能。这是一个简单的WebRTC音视频实战项目。
摘要由CSDN通过智能技术生成

前言

哈喽,大家好,我是海怪。

最近一直在看 WebRTC 的用法,也学了一下音视频流的东西,今天就跟大家分享一个好玩的小实战吧——给自己拍照。

项目已上传至 Github,Repo
地址:https://github.com/haixiangyan/webrtc-take-photo

页面结构

首先,我们要拆分一下实现步骤:

  • 打开摄像头,获取视频流
  • 需要一个 <video> 来播放摄像头的画面
  • 点击按钮,生成画面,并展示在 <img>

因此,我们需要 <video>, <img> 以及 <button>

<head>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  
<main>
  <video id="video">浏览器不支持 Video</video>

  <canvas id="canvas">
    <img id="photo" alt="拍照后的照片">
  </canvas>
</main>

<div class="actions">
  <button id="takePhotoButton" type="button" class="btn btn-primary">拍照</button>
  <button id="downloadButton" type=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码的海怪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值