前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebRTC实战教程:如何使用摄像头拍照

WebRTC实战教程:如何使用摄像头拍照

作者头像
Tinywan
发布2024-03-11 13:39:57
1040
发布2024-03-11 13:39:57
举报
文章被收录于专栏:开源技术小栈开源技术小栈

💻 在线演示

演示地址 https://webrtc.tinywan.com/docs-2022/demo-03/index.html

摄像头申请
拍照截图

📝 源码

index.html

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>WebRTC实战教程:如何使用摄像头拍照</title>
</head>
<body>
<h1>WebRTC实战教程:如何使用摄像头拍照</h1>
<div id="app">
    <div>
        <video ref="video" autoplay width="400" height="300"></video>
    </div>
    <div>
        <button @click="btnTakePhotoClicked">拍照</button>
    </div>
    <div>
        <canvas ref="canvas" width="400" height="300"></canvas>
    </div>
</div>
<script src="https://cdn.staticfile.org/vue/3.0.5/vue.global.js"></script>
<script src="main.js"></script>
</body>
</html>

main.js

代码语言:javascript
复制
const App = {
    data() {
        return {
            audioInputDevices: [],
            selectedAudioDeviceIndex: 0
        }
    },
    mounted() {
        this._initDevice();
    },
    methods: {
        async _initDevice (){
            this.$refs.video.srcObject = await navigator.mediaDevices.getUserMedia({
                video:true,
                audio:false
            });
            this._context2d = this.$refs.canvas.getContext("2d");
        },
        btnTakePhotoClicked() {
            // 开始绘制
            this._context2d.drawImage(this.$refs.video,0,0,400,300)
        }
    }
};
var vm = Vue.createApp(App).mount('#app');
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 💻 在线演示
    • 摄像头申请
      • 拍照截图
      • 📝 源码
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档