html5 video js控制摄像头的焦距,H5中使用video标签实现选择摄像头功能的示例
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标签实现选择摄像头功能的示例相关推荐
- dplayer js控制 自动全屏_vue 中使用video.js 实现m3u8视频播放格式
官方文档:https://docs.videojs.com/tutorial-vue.html H5 的 video 标签不支持m3u8视频播放,所以借助于 video.js 1.video 定义与用 ...
- HTML中的camera标签,详解HTML5 使用video标签实现选择摄像头功能
详解HTML5 使用video标签实现选择摄像头功能 1. html // jquery reference // // Open WebCam Snap Photo 2. javascript El ...
- html5 摄像头 直播,详解HTML5 使用video标签实现选择摄像头功能
详解HTML5 使用video标签实现选择摄像头功能 1. html // jquery reference // // Open WebCam Snap Photo 2. javascript El ...
- 使用H5中的video标签时,页面中间显示“暂停”图标;点击播放,图标消失;点击暂停,图标出现(play、pause、ended)
有时候我们在做项目的过程中会遇到这样的需求: 使用H5中的video标签播放一个视频,并在视频的中心位置放置一个暂停的图标,点击后视频播放,图标消失:再次点击后,视频暂停,图标出现. 想要的效果,例下 ...
- html5 video js控制摄像头的焦距,html 通过input video canvas 打开摄像头 定制相机
在机缘巧合之下,了解到用HTML5和javascript调用摄像头来实现拍照功能,今天就把大致原理写下来.页面布局很简单,就是一个input标签,两个HTML5元素video.canvas和一个but ...
- html5 video js控制摄像头的焦距,video.js自定义控制按钮
video.js自定义控制按钮 // 视频播放 if (!this.player) { let that = this this.player = videojs("#videoPlayer ...
- H5中添加video视频
video的属性 <videoid="video" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownlo ...
- 关于H5中的video/video标签的用法总结
写了一个H5播放视频的功能, 遇到一些问题,记录一下,借鉴了一些博友的文章,如果有侵权请联系删除 现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意 ...
- 将摄像头数据显示在窗口中并具有录像、截屏功能
复习 先前写过两个读取摄像头数据的小Demo复习内容: OpenCV获取摄像头数据并显示在窗口里 Python实现 从摄像头中读取数据并写入文件 Cameo 这次是一个功能更加强大的Demo不仅仅是将 ...
最新文章
- 《JavaScript应用程序设计》一一2.3 lambdas
- ”device not found“错误原因及解决方法
- 1、MySQL 8.0.20最新版本在Linux上安装
- 时间序列分析模型:ARIMA模型和SARIMAX算法
- TXSQL企业级特性揭秘:加密与审计
- Code Signal_练习题_extractEachKth
- c#泛型作为返回类型的写法
- 如何判断2服务器性能好或坏_无服务器革命:好,坏和丑
- 用例设计:思维导图orExcel
- poj 2376 bzoj 3389: [Usaco2004 Dec]Cleaning Shifts安排值班(贪心)
- caffe上手:mnist学习
- Go语言自学系列 | go常用命令
- DRF总结(三)Serializer的使用
- 网易云课堂课程下载教程
- C++-源代码调试-Visual Studio-X64dbg-WinDbg-插件开发
- 前端js正则验证大全(一套完整的正则验证解决方案)@莫成尘
- 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少(计算30个月的)?
- XJOI 7820 TLE
- 5月刊推荐:怎样才是真正的架构师
- SCAU2021数据库综合性实验报告
热门文章
- JAVA - 变量作用域
- Hibernate中SessionFactory配置
- document.documentElement对象
- JMeter—录制脚本
- MYSQL相关内容(引擎、隔离级别、实现原理)
- 白菜u盘安装linux,使用U盘安装ubuntu 12.04(使用大白菜u盘启动工具)
- img 图片自适应大小
- 20154312 曾林 Exp3 免杀原理与实践
- Fed-SCNN: A Federated Shallow-CNN Recognition Framework for Distracted Driving
- 跳跃游戏 (贪心/动态规划/dfs)