Vue 媒体处理(摄像头,截图,播放本地视频)

Vue 媒体处理(摄像头,截图,播放本地视频)

一. 打开摄像头

```javascriptthis.constraint = {// video属性设置video: {width: 300,height: 300,},// audio属性设置audio: true,}navigator.mediaDevices.getUserMedia(this.constraints).then((mediaStream) => {// 成功返回promise对象,接收一个mediaStream参数与video标签进行对接this.mediaStream = mediaStream;//this.video = document.getElementById("video");this.video.srcObject = mediaStream;this.video.play();}

二. 实现拍照(截图功能)

思路:利用 canvas 绘制图片后转图片

  let canvas = document.getElementById("canvas");let ctx = canvas.getContext("2d")ctx.drawImage(video, 0, 0, 300, 300);//获取图片的base64let imageBase64 = canvas.toDataURL("image/png");

三. 播放本地视频

思路:利用 input 标签选择文件后,使用 FileReader 获取 视频的 Base64 后利用 video 播放

<!-- ref 用于 vue 选中该标签 -->
<input type="file" ref="file" />
if (this.$refs.file.files.length == 0) {this.warn = "还未选中文件";return;}let file = this.$refs.file.files[0];if (file.type != "video/mp4" && file.type != "video/mp3") {this.warn = "文件不为mp4或mp3";return;}
var reader = new FileReader();
//将视频转为base64
reader.readAsDataURL(file);
let that = this;
reader.onload = function (e) {//e.target.result为视频的base64// console.log(e.target.result);that.video.src = e.target.result;that.video.play();that.video.onended = function () {//视频播放结束};
}

更多参考: MediaStream

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

how to install nc on centos8及nc应用

转自&#xff1a; https://linuxconfig.org/install-netcat-on-redhat-8 【README】 nc 是什么&#xff1f; nc&#xff0c;全名叫netcat&#xff0c;它可以用来完成很多的网络功能&#xff0c;譬如端口扫描、建立TCP/UDP连接&#xff0c;数据传输、网络调试等等&#xff0c…

大型网站架构利器-CDN技术

转载自 大型网站架构利器&#xff0d;CDN技术概念CDN这个概念相信大家都比较耳熟&#xff0c;到底什么是CDN呢&#xff1f;CDN&#xff0c;全称为Content Delivery Network&#xff0c;即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环…

centos8启动zk集群失败:zk Error contacting service. It is probably not running.

【README】在 192.168.163.201 机器上 启动zk &#xff0c;并查看zk 这台&#xff1b; 即 集群只有2台机器&#xff0c; 201 202 --ZOO.cfg# The number of milliseconds of each tick tickTime2000 # The number of ticks that the initial # synchronization phase can tak…

动态调整canvas时的问题

动态调整canvas大小时必须重新获取上下文&#xff08; canvas.getContext(‘2d’) &#xff09;及重新设置ctx的属性&#xff0c;否则会导致后续的绘制操作无效 动态调整canvas: var canvas document.getElementsByTagName("canvas")[0];var ctx canvas.getConte…

Maven精选系列--标准目录结构

转载自 Maven精选系列--标准目录结构Maven的目录结构和传统的项目有所差别&#xff0c;下面是一个jar包通常有的目录结构。src/main/java&#xff1a;源代码目录 src/main/resources&#xff1a;资源文件目录 src/test/java&#xff1a;测试代码目录 src/test/resources&#x…

java本地连接zk集群

【README】基于centos8 搭建zookeeper 集群&#xff0c;refer2 https://blog.csdn.net/PacosonSWJTU/article/details/111409079 【1】创建maven项目 添加依赖后&#xff0c; pom.xml 长这个样子&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0&quo…

Java IO(BIO, NIO, AIO) 总结

文章转载自&#xff1a;JavaGuide 目录BIO,NIO,AIO 总结同步与异步阻塞和非阻塞1. BIO (Blocking I/O)1.1 传统 BIO1.2 伪异步 IO1.3 代码示例1.4 总结2. NIO (New I/O)2.1 NIO 简介2.2 NIO的特性/NIO与IO区别2.3 NIO 读数据和写数据方式2.4 NIO核心组件简单介绍2.5 代码示例3.…

Maven精选系列--介绍与安装

转载自 Maven精选系列--介绍与安装Maven介绍Maven是一个项目管理工具&#xff0c;用来管理项目的生命周期&#xff0c;如项目中各个项目之间的依赖管理&#xff0c;项目中使用到的jar包依赖管理&#xff0c;还有许多项目构建的插件等。使用Maven最大的好处就是不再需要我们手工…

java本地创建zk节点

【README】 java本地连接zk cluster, refer to https://blog.csdn.net/PacosonSWJTU/article/details/111404364; 【1】 创建zk节点 star &#xff08;明星节点&#xff09; /*** 测试 zk * author pacoson**/ public class TestZK {/*** zk server 连接串 */private Stri…

Java8 Lambda总结

什么是Lambda&#xff1f; Lambda是一个匿名函数&#xff0c;我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像参数一样进行传递&#xff0c;称为行为参数化)。Lambda允许把函数作为一个方法的参数&#xff08;函数作为参数传递进方法中&#xff09;&#xff0c;要…

本地java【动态监听】zk集群节点变化

【README】搭建zk cluster&#xff0c; refer 2 https://blog.csdn.net/PacosonSWJTU/article/details/111404364 【1】 动态监听代码&#xff0c;需要写在 建立zk 连接的watcher 实现类里&#xff0c;如下&#xff1a; public class TestZK {/*** zk server 连接串 */privat…

架构师必须搞懂DNS,一篇文章就够了。

转载自 架构师必须搞懂DNS&#xff0c;一篇文章就够了。概念DNS&#xff0c;全称Domain Name System&#xff0c;即域名系统&#xff0c;搞清楚&#xff0c;它不是DNF地下城与勇士。DNS是怎么来的&#xff0c;我们知道要访问一个服务器的资源可以通过IP的形式访问&#xff0c;但…

Java 流式编程stream

目录什么是Stream&#xff1f;怎么创建Stream?Stream的中间操作Stream的终端操作什么是Stream&#xff1f; Stream它并不是一个容器&#xff0c;它只是对容器的功能进行了增强&#xff0c;添加了很多便利的操作,例如查找、过滤、分组、排序等一系列的操作。并且有串行、并行两…

本地java判断zk节点是否存在

【README】java 本地连接zk集群&#xff0c;https://blog.csdn.net/PacosonSWJTU/article/details/111404364 【1】判断节点是否存在 /*** 测试 zk * author pacoson**/ public class TestZK {/*** zk server 连接串 */private String connectString "192.168.163.20…

架构师必须掌握的各种编码:ASCII、ISO-8859-1、GB2312

转载自 架构师必须掌握的各种编码&#xff1a;ASCII、ISO-8859-1、GB2312编码在我们日常开发过程中经常有遇到&#xff0c;常见的编码格式有ASCII、ISO-8859-1、GB2312、GBK、GB18030、UNICODE、UTF-8、UTF-16等&#xff0c;其中GB2312、GBK、GB18030、UTF-8、UTF-16都可以用来…

vue 使用 el-image图片无法显示

问题&#xff1a;在vue 项目中使用 el-image 后&#xff0c;在图片路径无误的情况下显示图片加载失败 <el-carousel trigger"click" :height"carouselHeight"><el-image src"images/top1.jpg" fit"fill" style"height:…

java本地监听zk服务器节点【动态上下线】

【README】 java本地访问 zk cluster&#xff0c; refer 2 https://blog.csdn.net/PacosonSWJTU/article/details/111404364 【1】 客户端监听 zk节点变化 1&#xff09; zk客户端代码——http访问的客户端代码&#xff08;请求zk获取 http服务器的上下线信息&#xff09;…

面象对象设计6大原则之一:单一职责原则

转载自 面象对象设计6大原则之一&#xff1a;单一职责原则单一职责原则&#xff08;SRP&#xff09;&#xff0c;The Single Responsibility Principle定义一个类的修改只能有一个被修改的原因。通俗地讲&#xff0c;就是一个类只能负责一个职责&#xff0c;修改一个类不能影响…

vue 实现 js css html分离

方法一 分别创建 index.js, index.css index.js: export default {data:function(){return {//...};},methods:{//...} }index.vue 代码 <template>.... </template><script> //index.js 的相对路径 import index from "./index.js";// 名字可…

基于centos8搭建zookeeper集群

【README】 本文基于centos8 搭建 1&#xff0c;其他linux版本&#xff0c;命令可能不同&#xff1b; 2&#xff0c;集群包括3个节点&#xff0c;如下&#xff08;因为采用NAT模型进行网络连接&#xff0c;需要让windows和linux机器在同一个网段&#xff09;&#xff1a; ce…