html5 拍照上传(Html5在手机端调用相机的方法实现)
html5 拍照上传
Html5在手机端调用相机的方法实现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手机端调用相机内容请搜索开心学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持开心学习网!
- html5 canvas touch(html5 canvas手势解锁源码分享)
- html5 data属性
- html5长按动画效果(HTML5实现移动端弹幕动画效果)
- HTML5离线缓存
- 制作共用的头部和底部html5界面(html5移动端价格输入键盘的实现)
- html5的语法变化(详解HTML5.2版本带来的修改)
- html5video怎么优化(HTML5 video循环播放多个视频的方法步骤)
- html5显示中心代码(HTML5中的Web Notification桌面通知功能的实现方法)
- html5复选框属性教程(HTML5单选框、复选框、下拉菜单、文本域的实现代码)
- html5 设置缓存(HTML5实现应用程序缓存Application Cache)
- html5中提供的绘图元素(使用Html5中的cavas画一面国旗)
- html5基本标签详解(详解HTML5布局和HTML5标签)
- html5基本结构图(HTML5中的网络存储实现方式)
- 用html5做一个音乐的播放器(HTML5自定义mp3播放器源码)
- h5抽奖的弹框制作(html5实现九宫格抽奖可固定抽中某项奖品)
- html5div怎样居中(HTML5+CSS设置浮动却没有动反而在中间且错行的问题)
- 马来西亚旅游攻略(马来西亚旅游攻略自由行攻略)
- 缅甸旅游攻略(缅甸旅游攻略必去景点推荐)
- 《庆余年2》新消息,原班人马,肖战特别出演,这才是最好的安排(庆余年2新消息原班人马)
- 宁夏灵武恐龙化石发现始末(宁夏灵武恐龙化石发现始末)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
热门推荐
- css如何去掉本身的浮动元素(CSS清除浮动的常用方法优缺点分析)
- mybatissql解析(mybatis动态sql常用场景总结)
- extjs多选下拉框
- apache搭建ftp服务器(使用Apache&花生壳架设Web服务器)
- MySQL定时任务(EVENT事件)如何配置详解(MySQL定时任务EVENT事件如何配置详解)
- php项目开发实例(php项目中类的自动加载实例讲解)
- laravel常用的辅助函数介绍(Laravel向公共模板赋值方法总结)
- docker启动命令大全(Docker常用命令Study03详解)
- 怎样查看mysql的安装路径(MySQL中查看数据库安装路径的方法)
- laravel零基础(基于laravel Request的所有方法详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9