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 相关文章推荐
35款精致的 CSS3 和 HTML5 网页模板 推荐
Aug 03 HTML / CSS
纯css3无js实现的Android Logo(有简单动画)
Jan 21 HTML / CSS
html5文本内容_动力节点Java学院整理
Jul 11 HTML / CSS
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
Dec 07 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
May 07 HTML / CSS
html5定位获取当前位置并在百度地图上显示
Aug 22 HTML / CSS
HTML5 canvas实现移动端上传头像拖拽裁剪效果
Mar 14 HTML / CSS
HTML5学习心得总结(推荐)
Jul 08 HTML / CSS
HTML5和CSS3实例教程总结(推荐)
Jul 18 HTML / CSS
html5使用canvas实现弹幕功能示例
Sep 11 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
Oct 29 HTML / CSS
css3 filter属性的使用简介
Mar 31 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中常量,变量的作用域和生存周期
2013/08/10 PHP
php中file_exists函数使用详解
2015/05/08 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
AngularJS通过ng-route实现基本的路由功能实例详解
2016/12/13 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
用Python编写web API的教程
2015/04/30 Python
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
Python如何给函数库增加日志功能
2020/08/04 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
Python基于execjs运行js过程解析
2020/11/27 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
同程旅游英文网站:LY.com
2018/11/13 全球购物
个人求职简历的自我评价范文
2013/10/09 职场文书
营销总经理的岗位职责
2013/12/15 职场文书
电子商务专业自我鉴定
2013/12/18 职场文书
留学自荐信写作方法
2014/01/27 职场文书
现场施工员岗位职责
2014/03/10 职场文书
文明工地标语
2014/06/16 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
详细了解MVC+proxy
2021/07/09 Java/Android
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle