Html5在手机端调用相机的方法实现


Posted in HTML / CSS onMay 13, 2020

input调用设备录像,相机等…
HTML5官方文档解释:capture属性用于调用设备的摄像头或麦克风。
当accept=”audio/或video/”时capture只有两种值,一种是user,用于调用面向人脸的摄像头(例如手机前置摄像头),一种是environment,用于调用环境摄像头(例如手机后置摄像头)。
当accept=”audio”时,只要有capture就调用设备麦克风,忽略user和environment值。
至于网上提到的camera和filesystem,官方没提。
官方文档:www.w3.org/TR/2018/REC-html-media-capture-20180201/

iOS最遵守遵守HTML5规范,其次是X5内核,安卓的webview基本忽略了capture。
理想情况下应该按照如下开发webview:

1.当accept=”image/”时,capture=”user”调用前置照相机,capture=”其他值”,调用后置照相机
2. 当accept=”video/”时,capture=”user”调用前置录像机,capture=”其他值”,调用后置录像机
3. 当accept=”image/,video/”,capture=”user”调用前置摄像头,capture=”其他值”,调用后置摄像头,默认照相,可切换录像
4. 当accept=”audio/*”时,capture=”放空或者任意值”,调用录音机
5. 当input没有capture时,根据accppt类型给出文件夹选项以及摄像头或者录音机选项
6. input含有multiple时访问文件夹可勾选多文件,调用系统摄像头或者录音机都只是单文件
7. 无multiple时都只能单文件

判断设备类型

var ua = navigator.userAgent.toLowerCase();
if(ua.match(/android/i)) == "android") {
 alert("android");
}
if(ua.match(/iPhone/i)) == "iPhone") {
 alert("iPhone");
}
if(ua.match(/iPad/i)) == "iPad") {
 alert("iPad");
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="file" accept="image/*" capture="camera">  
    <input type="file" accept="video/*" capture="camcorder">  
    <input type="file" accept="audio/*" capture="microphone">  
</body>
</html>
<script>
    var file = document.querySelector('input');
        if (getIos()) {
            file.removeAttribute("capture"); //如果是ios设备就删除"capture"属性
        }
        function getIos() {
            var ua=navigator.userAgent.toLowerCase();
            if (ua.match(/iPhone\sOS/i) == "iphone os") {
                return true;
            } else {
                return false;
            }
        }
</script>

到此这篇关于Html5在手机端调用相机的方法实现的文章就介绍到这了,更多相关Html5手机端调用相机内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木! 

HTML / CSS 相关文章推荐
利用css3制作3D样式按钮实现代码
Mar 18 HTML / CSS
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
Aug 11 HTML / CSS
css3的@media属性实现页面响应式布局示例代码
Feb 10 HTML / CSS
详解css3使用transform出现字体模糊的解决办法
Oct 16 HTML / CSS
详解background属性的8个属性值(面试题)
Nov 02 HTML / CSS
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
Oct 08 HTML / CSS
鲜为人知的HTML5语音合成功能
May 17 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
Mar 25 HTML / CSS
浅谈基于Canvas的手绘风格图形库Rough.js
Mar 19 HTML / CSS
Canvas环形饼图与手势控制的实现代码
Nov 08 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
Aug 21 HTML / CSS
Html5页面获取微信公众号的openid的方法
May 12 #HTML / CSS
钉钉企业内部H5微应用开发详解
May 12 #HTML / CSS
html5 横向滑动导航栏的方法示例
May 08 #HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
May 08 #HTML / CSS
HTML5 body设置自适应全屏
May 07 #HTML / CSS
iframe与window.onload如何使用详解
May 07 #HTML / CSS
HTML5录音实践总结(Preact)
May 07 #HTML / CSS
You might like
谷歌音乐搜索栏的提示功能php修正代码
2011/05/09 PHP
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
cookie的secure属性详解
2015/04/08 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
一个简单的python程序实例(通讯录)
2013/11/29 Python
python 写的一个爬虫程序源码
2016/02/28 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
金士达面试非笔试
2012/03/14 面试题
入学生会自荐书范文
2014/02/05 职场文书
夫妻吵架保证书
2015/05/08 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
七年级上册生物的课件
2019/08/07 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
详解python的内存分配机制
2021/05/10 Python
zabbix监控mysql的实例方法
2021/06/02 MySQL
MYSQL如何查看进程和kill进程
2022/03/13 MySQL