H5的video标签操作摄像头

这次给大家带来H5的video标签操作摄像头,H5的video标签操作摄像头注意事项有哪些,下面就是实战案例,一起来看一下。

详解HTML5 使用video标签实现选择摄像头功能

1. html

// jquery reference  //  //            

2. javascript

  //// Elements for taking the snapshot     var canvasPreview = document.getElementById('canvasPreview');     var canvasUpload = document.getElementById('canvasUpload');     var contextPreview = canvasPreview.getContext('2d');     var contextUpload = canvasUpload.getContext('2d');     //#################### Video Source #######################3     var videoElement = document.querySelector('video');     var videoSelect = document.querySelector('select#videoSource');     navigator.mediaDevices.enumerateDevices()       .then(gotDevices).then(getStream).catch(handleError);     videoSelect.onchange = getStream;      function gotDevices(deviceInfos) {       for (var i = 0; i < deviceInfos.length; ++i) {         var deviceInfo = deviceInfos[i];         var option = document.createElement('option');         option.value = deviceInfo.deviceId;         if (deviceInfo.kind === 'videoinput') {           option.text = deviceInfo.label ||             'camera ' +             (videoSelect.length + 1);           videoSelect.appendChild(option);         } else {           console.log('Found ome other kind of source/device: ', deviceInfo);         }       }     }     var _streamCopy = null;     function getStream() {       if (_streamCopy != null) {         try {           _streamCopy.stop(); // if this method doesn't exist, the catch will be executed.         } catch (e) {           _streamCopy.getVideoTracks()[0].stop(); // then stop the first video track of the stream         }       }             var constraints = {         audio:false,         video: {           optional: [             {               sourceId: videoSelect.value             }           ]         }       };             navigator.mediaDevices.getUserMedia(constraints).then(gotStream).catch(handleError);     }     function gotStream(stream) {       _streamCopy = stream; // make stream available to console       videoElement.srcObject = stream;     }     function handleError(error) {       alert(error.name + ": " + error.message);     }     //######################## End Video Source #################      // Get access to the camera!     if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {       navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {         videoElement.src = window.URL.createObjectURL(stream);         videoElement.play();       });     } else {       document.getElementById("pnlVideo1").style.display = "none";     }     //// Trigger photo take     document.getElementById("snap").addEventListener("click",       function() {         contextPreview.drawImage(videoElement, 0, 0, 300, 224);         contextUpload.drawImage(videoElement, 0, 0, 300, 224);         document.getElementById("video").style.display = "none";         document.getElementById("snap").style.display = "none";         document.getElementById("canvasPreview").style.display = "block";         var image = document.getElementById("canvasUpload").toDataURL("image/jpeg");         image = image.replace('data:image/jpeg;base64,', '');         $("#imgValue").val(image);            alert("image value :" + image);       });      //// Trigger photo take     document.getElementById("btnOpen1").addEventListener("click",       function() {         document.getElementById("vdoOne").style.display = "block";         document.getElementById("video").style.display = "block";         document.getElementById("snap").style.display = "block";         document.getElementById("canvasPreview").style.display = "none";       });        

相信看了本文案例你已经掌握了方法,更多精彩请关注创想鸟其它相关文章!

推荐阅读:

django控件及传参使用详解

jquery实现全选反选单选

jQuery插件FusionCharts绘制饼状图

以上就是H5的video标签操作摄像头的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1546031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 17:46:19
下一篇 2025年12月21日 17:46:35

相关推荐

  • b站视频怎么镜像翻转_B站视频画面镜像处理技巧

    1、使用B站手机客户端可直接开启镜像翻转:进入全屏播放后点击右上角三个点,选择【镜像翻转】即可实时切换画面方向。2、通过B站网页版HTML5播放器也可实现:在电脑端播放视频时点击设置齿轮,开启【镜像画面】开关即生效。3、如需永久保存镜像效果,可借助剪映等剪辑软件对视频进行水平翻转处理后再导出使用。 …

    2026年8月28日
    100
  • VSCode怎么调出HTML模板_VSCode快速生成HTML基础模板结构教程

    答案:在VSCode中输入!后按Tab键即可快速生成HTML5模板,也可使用html:5或doc等Emmet缩写,若失效需检查文件类型和设置,还可通过自定义snippets.json实现个性化模板。 在VSCode中快速生成HTML基础模板结构,最直接也最常用的方法就是利用其内置的Emmet功能。你…

    2026年8月26日
    200
  • UC浏览器视频小窗播放怎么用_UC浏览器视频小窗播放方法

    在UC浏览器播放视频时,按返回键或滑动退出可启用小窗模式;02. 若未自动开启,可通过菜单手动选择“小窗播放”;03. 小窗支持拖动、缩放与手势控制,便于多任务操作。 如果您在观看视频时希望同时浏览其他内容,可以使用UC浏览器的视频小窗播放功能,让视频以悬浮窗口的形式继续播放。该功能适用于移动端操作…

    2026年8月26日
    000
  • VSCode怎么自动生成HTML_VSCode快速生成HTML基础模板结构教程

    输入!按Tab即可生成HTML5模板,VSCode通过Emmet实现高效编码,支持自定义片段和高级缩写,提升开发效率。 说实话,刚开始用VSCode写HTML的时候,我也觉得每次都要手动敲 、 、 那些东西挺麻烦的。后来才发现,VSCode在快速生成HTML基础模板结构这方面做得真是相当到位,主要就…

    2026年8月26日
    000
  • iPhone SE4 渲染图曝光 预计 2025 年发布

    【太平洋科技资讯】近日,iphone se4 cad 渲染图在网上曝光。据了解,新机将于 2025 年发布,并将有望首发苹果自研 5g 基带。 根据最新数据,相关博主制作了 iPhone SE4 CAD 渲染图。从渲染图中可以看出,这款新手机是 iPhone SE 系列首款采用刘海屏设计的机型。随着…

    2026年8月26日
    000
  • 如何解决PHP中复杂的HTML/XML解析与操作问题,arthurkushman/query-path助你轻松驾驭!

    可以通过一下地址学习composer:学习地址 告别繁琐:PHP 处理 HTML/XML 的痛与思 在日常的 php 开发中,我们经常需要与各种 html 或 xml 文档打交道。无论是从第三方网页抓取信息,还是处理复杂的 xml 配置,亦或是动态生成和修改 html 片段,这些任务都不可避免。然而…

    用户投稿 2026年8月26日
    100
  • 手把手教你用 transition 实现短视频 APP的点赞动画

    手把手教你用 transition 实现短视频 APP的点赞动画手把手教你用 transition 实现短视频 APP的点赞动画手把手教你用 transition 实现短视频 APP的点赞动画手把手教你用 transition 实现短视频 APP的点赞动画

    怎么使用纯 css 实现有趣的点赞动画?下面本篇文章就带大家了解一下巧妙借助 transition实现点赞动画的方法,希望对大家有所帮助! 在各种短视频界面上,我们经常会看到类似这样的点赞动画: 非常的有意思,有意思的交互会让用户更愿意进行互动。 那么,这么有趣的点赞动画,有没有可能使用纯 CSS …

    2025年12月24日 用户投稿
    100
  • 教你使用css3给字体添加立体效果(附代码)

    教你使用css3给字体添加立体效果(附代码)教你使用css3给字体添加立体效果(附代码)教你使用css3给字体添加立体效果(附代码)教你使用css3给字体添加立体效果(附代码)

    之前的文章《手把手教你怎么使用html+css实现轮播图效果(代码分享)》中,给大家介绍了怎么使用html+css实现轮播图效果。下面本篇文章给大家介绍怎么使用css3给字体添加立体效果,我们一起看看怎么做。 字体添加立体效果图如下 1、新建一个html文件,首先写div标签输入写contented…

    2025年12月24日 用户投稿
    000
  • 手把手教你使用css3制作炫酷的导航栏效果(代码详解)

    手把手教你使用css3制作炫酷的导航栏效果(代码详解)手把手教你使用css3制作炫酷的导航栏效果(代码详解)手把手教你使用css3制作炫酷的导航栏效果(代码详解)手把手教你使用css3制作炫酷的导航栏效果(代码详解)

    之前的文章《教你使用css3给字体添加立体效果(附代码)》中,给大家介绍了怎么使用css3给字体添加立体效果。下面本篇文章给大家介绍怎么使用CSS3制作炫酷的导航栏效果,我们一起看看怎么做。 炫酷的导航栏效果图如下 CSS3制作炫酷的导航栏效果的方法 1、新建一个html文件,首先写div标签输入写…

    2025年12月24日 用户投稿
    000
  • 10款好看且实用的文字动画特效,让你的页面更吸引人!

    10款好看且实用的文字动画特效,让你的页面更吸引人!10款好看且实用的文字动画特效,让你的页面更吸引人!10款好看且实用的文字动画特效,让你的页面更吸引人!10款好看且实用的文字动画特效,让你的页面更吸引人!

    图片和文字是网页不可缺少的组成部分,图片运用得当可以让网页变得生动,但普通的文字不行。那么就可以给文字添加一些样式,实现一下好看的文字效果,让页面变得更交互,更吸引人。下面创想鸟就来给大家分享10款文字动画特效,好看且实用,快来收藏吧! 1、网页玻璃文字动画特效 模板简介:使用css3制作网页渐变底…

    2025年12月24日 用户投稿
    500
  • 教你怎么使用css3给图片添加渐变效果(代码详解)

    教你怎么使用css3给图片添加渐变效果(代码详解)教你怎么使用css3给图片添加渐变效果(代码详解)教你怎么使用css3给图片添加渐变效果(代码详解)教你怎么使用css3给图片添加渐变效果(代码详解)

    之前的文章《手把手教你怎么使用CSS3实现动画效果(代码分享)》中,给大家介绍一下怎么使用css3动画效果设置经验。下面本篇文章给大家介绍怎么使用css3给图片添加渐变效果,伙伴们来看看一下。 初次接触css3渐变是在很早以前了,觉得这个东西很有意思哈,跟玩 PS 似的,可以做出很多华丽的东西。 浏…

    2025年12月24日 用户投稿
    000
  • 手把手教你使用CSS3制作一个简单页面的布局(代码详解)

    手把手教你使用CSS3制作一个简单页面的布局(代码详解)手把手教你使用CSS3制作一个简单页面的布局(代码详解)手把手教你使用CSS3制作一个简单页面的布局(代码详解)手把手教你使用CSS3制作一个简单页面的布局(代码详解)

    之前的文章《深入解析微信小程序页面中实现的保存图片(附代码)》中,给大家了解一下微信小程序页面中实现的保存图片。下面本篇文章给大家介绍怎么使用CSS3制作一个简单页面的布局,感兴趣的小伙伴们可以参考一下。 兼容性 2009 年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响…

    2025年12月24日 用户投稿
    000
  • 聊聊你可能不了解的CSS属性函数 attr()

    聊聊你可能不了解的CSS属性函数 attr()聊聊你可能不了解的CSS属性函数 attr()聊聊你可能不了解的CSS属性函数 attr()聊聊你可能不了解的CSS属性函数 attr()

    本篇文章带大家了解一下css属性函数 attr()。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 属性函数 attr() 用于获取HTML元素里面的属性值,并用于样式中,但目前暂时只能应用于CSS元素中的伪元素。 例子 实现一个Tooltip 立即学习“前端免费学习笔记(深入)”…

    2025年12月24日 用户投稿
    700
  • 5个有用的css函数(分享)

    5个有用的css函数(分享)5个有用的css函数(分享)5个有用的css函数(分享)5个有用的css函数(分享)

    CSS 包含了许多函数,而且它能够完成许多早期需要用 JavaScript才能完成的事情。每年都有新的特性被添加进来,这让我们的开发更加轻松,也减少了对JavaScript的依赖。CSS 函数是它所具有的最强大的特性之一,在本文中,我将介绍一些我认为有用的函数。 (学习视频分享:css视频教程) a…

    2025年12月24日 用户投稿
    000
  • 使用HTML和CSS的新特性实现响应式布局

    除了使用媒体查询和现代CSS布局(如flexbox和grid)来创建响应式网站外,我们还可以做好某些被忽视的事情来制作响应式网站。在本文中,我们将探讨许多可用的工具(围绕HTML和CSS),从响应图像到相对较新的CSS函数,无论我们是否使用媒体查询,它们都可以正常工作。 事实上,媒体查询与这些功能一…

    2025年12月24日
    000
  • 适合初学者学习的CSS3实现可爱的动物

    适合初学者学习的CSS3实现可爱的动物适合初学者学习的CSS3实现可爱的动物适合初学者学习的CSS3实现可爱的动物适合初学者学习的CSS3实现可爱的动物

    适合初学者学习的CSS3实现可爱的动物 今天,我想向大家展示如何巧妙地使用HTML、CSS排序动画和SVG滤镜把生活中可能最可爱的东西之一——动物画到网页上。我们将探讨绘制动物的两种技术:一种使用纯HTML和CSS,另一种使用内联SVG背景图像。 此演示高度实验性质——动画SVG滤镜目前仅在Chro…

    2025年12月24日 用户投稿
    000
  • CSS的工作过程介绍(图文)

    本篇文章给大家带来的内容是关于css的工作过程介绍(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在平时的工作中,可能都是再用一些框架或者是简单的CSS来修饰我们的HTML页面,那么仔细想想一个资深的前端从业者,是否需要知道他的工作原理和过程呢,技术这种东西,当然是我们了解…

    2025年12月24日
    000
  • 如何使用CSS更改占位符颜色?(代码示例)

    如何使用CSS更改占位符颜色?(代码示例)如何使用CSS更改占位符颜色?(代码示例)如何使用CSS更改占位符颜色?(代码示例)如何使用CSS更改占位符颜色?(代码示例)

    在大多数浏览器中,占位符(在输入标记中)为灰色,要如何更改此占位符的颜色?本篇文章就来给大家解释使用css更改占位符颜色的方法,希望对大家有所帮助。 如何使用CSS更改占位符颜色? 在css中想要更改占位符的颜色,可以非标准选择器::placeholder来实现,它是用于设置表单输入框占位符的外观,…

    2025年12月24日 用户投稿
    000
  • CSS实现页面底部固定的方法介绍(附代码)

    本篇文章给大家带来的内容是关于css实现页面底部固定的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 当我们在写页面时经常会遇到页面内容少的时候,footer会戳在页面中间或什么?反正就是不在最底部显示,反正就是很难看,下面要讲的布局就是解决如何使元素粘住浏览器底…

    用户投稿 2025年12月24日
    000
  • css3如何实现元素环绕中心点布局(代码示例)

    本篇文章给大家带来的内容是关于css3如何实现元素环绕中心点布局(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果如图: 代码实现: *{ margin: 0; padding: 0; box-sizing: border-box; } .surround-box, …

    2025年12月24日
    100

发表回复

登录后才能评论
关注微信