js调用网络摄像头的方法
(编辑:jimmy 日期: 2024/12/28 浏览:3 次 )
不支持IE浏览器(需要使用flash插件), 支持移动端, 未经过完全测试
PC端使用的时候, HTML页面需要预留video标签, canvas标签
移动端使用的时候, HTML页面需要预留file标签, canvas标签, img标签
(function (window, document) { window.camera = { init: function (options) { /** * options 属性示例 * videoID: video控件ID * canvasID: canvas控件ID * fileID: type为file的input控件的ID * imageID: img控件的ID * videoEnable: 是否启用摄像头 * audioEnable: 是否启用麦克风 * videoWidth: 视频宽度 * videoHeight: 视频高度 * photoWidth: 拍照宽度 * photoHeight: 拍照高度 */ _options = options; if (isMobileTerminal()) { initMobileTerminal(); } else { initComputerTerminal(); } }, photo: function () { if (isMobileTerminal()) { photoMobileTerminal(); } else { photoComputerTerminal(); } } }; let _options = null; function initComputerTerminal() { let videoDom = document.getElementById(_options.videoID); if (!videoDom) { alert('Video 控件无效'); return; } let canvasDom = document.getElementById(_options.canvasID); if (!canvasDom) { alert('Canvas 控件无效'); return; } canvasDom.setAttribute('width', _options.photoWidth + 'px'); canvasDom.setAttribute('height', _options.photoHeight + 'px'); let parameters = { video: _options.videoEnable "2d"); context.drawImage(imageDom, 0, 0, _options.photoWidth, _options.photoHeight); }, 300); }; reader.readAsDataURL(file); }); } function photoMobileTerminal() { let fileDom = document.getElementById(_options.fileID); fileDom.click(); } function isMobileTerminal() { if (/AppleWebKit.*Mobile/i.test(navigator.userAgent) || /Mobile/.test(navigator.userAgent) || /MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent)) return /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent); return false; } })(window, document);
以上就是js调用网络摄像头的方法的详细内容,更多关于js调用网络摄像头的资料请关注其它相关文章!
下一篇:浅谈Vue使用Elementui修改默认的最快方法