H5中使用video标签实现选择摄像头功能的示例

发布时间:2020-12-05 10:48:03

来源:亿速云

阅读:91

作者:小新

小编给大家分享一下H5中使用video标签实现选择摄像头功能的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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

1. html// jquery reference

//

//

Open WebCam

Snap Photo

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";

});

以上是“H5中使用video标签实现选择摄像头功能的示例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

html5 video js控制摄像头的焦距,H5中使用video标签实现选择摄像头功能的示例相关推荐

  1. dplayer js控制 自动全屏_vue 中使用video.js 实现m3u8视频播放格式

    官方文档:https://docs.videojs.com/tutorial-vue.html H5 的 video 标签不支持m3u8视频播放,所以借助于 video.js 1.video 定义与用 ...

  2. HTML中的camera标签,详解HTML5 使用video标签实现选择摄像头功能

    详解HTML5 使用video标签实现选择摄像头功能 1. html // jquery reference // // Open WebCam Snap Photo 2. javascript El ...

  3. html5 摄像头 直播,详解HTML5 使用video标签实现选择摄像头功能

    详解HTML5 使用video标签实现选择摄像头功能 1. html // jquery reference // // Open WebCam Snap Photo 2. javascript El ...

  4. 使用H5中的video标签时,页面中间显示“暂停”图标;点击播放,图标消失;点击暂停,图标出现(play、pause、ended)

    有时候我们在做项目的过程中会遇到这样的需求: 使用H5中的video标签播放一个视频,并在视频的中心位置放置一个暂停的图标,点击后视频播放,图标消失:再次点击后,视频暂停,图标出现. 想要的效果,例下 ...

  5. html5 video js控制摄像头的焦距,html 通过input video canvas 打开摄像头 定制相机

    在机缘巧合之下,了解到用HTML5和javascript调用摄像头来实现拍照功能,今天就把大致原理写下来.页面布局很简单,就是一个input标签,两个HTML5元素video.canvas和一个but ...

  6. html5 video js控制摄像头的焦距,video.js自定义控制按钮

    video.js自定义控制按钮 // 视频播放 if (!this.player) { let that = this this.player = videojs("#videoPlayer ...

  7. H5中添加video视频

    video的属性 <videoid="video" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownlo ...

  8. 关于H5中的video/video标签的用法总结

    写了一个H5播放视频的功能, 遇到一些问题,记录一下,借鉴了一些博友的文章,如果有侵权请联系删除 现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意 ...

  9. 将摄像头数据显示在窗口中并具有录像、截屏功能

    复习 先前写过两个读取摄像头数据的小Demo复习内容: OpenCV获取摄像头数据并显示在窗口里 Python实现 从摄像头中读取数据并写入文件 Cameo 这次是一个功能更加强大的Demo不仅仅是将 ...

最新文章

  1. 《JavaScript应用程序设计》一一2.3 lambdas
  2. ”device not found“错误原因及解决方法
  3. 1、MySQL 8.0.20最新版本在Linux上安装
  4. 时间序列分析模型:ARIMA模型和SARIMAX算法
  5. TXSQL企业级特性揭秘:加密与审计
  6. Code Signal_练习题_extractEachKth
  7. c#泛型作为返回类型的写法
  8. 如何判断2服务器性能好或坏_无服务器革命:好,坏和丑
  9. 用例设计:思维导图orExcel
  10. poj 2376 bzoj 3389: [Usaco2004 Dec]Cleaning Shifts安排值班(贪心)
  11. caffe上手:mnist学习
  12. Go语言自学系列 | go常用命令
  13. DRF总结(三)Serializer的使用
  14. 网易云课堂课程下载教程
  15. C++-源代码调试-Visual Studio-X64dbg-WinDbg-插件开发
  16. 前端js正则验证大全(一套完整的正则验证解决方案)@莫成尘
  17. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少(计算30个月的)?
  18. XJOI 7820 TLE
  19. 5月刊推荐:怎样才是真正的架构师
  20. SCAU2021数据库综合性实验报告

热门文章

  1. JAVA - 变量作用域
  2. Hibernate中SessionFactory配置
  3. document.documentElement对象
  4. JMeter—录制脚本
  5. MYSQL相关内容(引擎、隔离级别、实现原理)
  6. 白菜u盘安装linux,使用U盘安装ubuntu 12.04(使用大白菜u盘启动工具)
  7. img 图片自适应大小
  8. 20154312 曾林 Exp3 免杀原理与实践
  9. Fed-SCNN: A Federated Shallow-CNN Recognition Framework for Distracted Driving
  10. 跳跃游戏 (贪心/动态规划/dfs)