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制作一个简单的Chrome模拟器
Jul 15 HTML / CSS
CSS3近阶段篇之酷炫的3D旋转透视
Apr 28 HTML / CSS
用CSS3实现无限循环的无缝滚动的实例代码
Jul 04 HTML / CSS
CSS3实现缺角矩形,折角矩形以及缺角边框
Dec 20 HTML / CSS
详解HTML5新增标签
Nov 27 HTML / CSS
video结合canvas实现视频在线截图功能
Jun 25 HTML / CSS
X/HTML5 和 XHTML2
Oct 17 HTML / CSS
html5 div布局与table布局详解
Nov 16 HTML / CSS
HTML5页面中尝试调起APP功能
Sep 12 HTML / CSS
canvas如何绘制钟表的方法
Dec 13 HTML / CSS
详解html5 canvas 微信海报分享(个人爬坑)
Jan 12 HTML / CSS
html5 制作地图当前定位箭头的方法示例
Jan 10 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学习 函数 课件
2008/06/15 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
浅谈PHP强制类型转换,慎用!
2013/06/06 PHP
基于PHP创建Cookie数组的详解
2013/07/03 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
2017/07/20 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
python根据url地址下载小文件的实例
2018/12/18 Python
matplotlib实现区域颜色填充
2019/03/18 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
使用python模拟高斯分布例子
2019/12/09 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
医院护士专业个人的求职信
2013/12/09 职场文书
校园招聘策划书
2014/01/09 职场文书
工程质量月活动方案
2014/02/19 职场文书
初三班主任寄语大全
2014/04/04 职场文书
党员承诺书格式
2014/05/21 职场文书
机械专业求职信
2014/05/25 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2015年外联部工作总结
2015/04/03 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL