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模拟jq点击事件的实例代码
Jul 06 HTML / CSS
CSS3 特效范例整理
Aug 22 HTML / CSS
CSS3属性box-sizing使用指南
Dec 09 HTML / CSS
css3给背景图片加颜色遮罩的方法
Nov 05 HTML / CSS
如何使用css3实现一个类在线直播的队列动画的示例代码
Jun 17 HTML / CSS
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
Sep 02 HTML / CSS
HTML5中使用postMessage实现两个网页间传递数据
Jun 22 HTML / CSS
HTML5微信播放全屏问题的解决方法
Mar 09 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
May 07 HTML / CSS
H5混合开发app如何升级的方法
Jan 10 HTML / CSS
六个好看实用的 HTML + CSS 后台登录入口页面
Apr 28 HTML / CSS
CSS浮动引起的高度塌陷问题
Aug 05 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
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
Jquery实现简单的动画效果代码
2012/03/18 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
2014/10/22 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
淘宝客服自我总结鉴定
2014/01/25 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
检讨书模板
2015/01/29 职场文书
爱的教育读书笔记
2015/06/26 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL
python读取mat文件生成h5文件的实现
2022/07/15 Python