美文网首页
手机端H5调用相机的实现

手机端H5调用相机的实现

作者: Qson1 | 来源:发表于2022-04-01 15:24 被阅读0次

手机端H5调用相机的实现

在写手机端h5时,常遇到需要调用手机摄像头硬件,进行拍摄或拍视频,这里对此进行说明。

  • capture属性用于调用设备的摄像头或麦克风

HTML5官方文档解释:capture属性用于调用设备的摄像头或麦克风。

当accept=”audio/或video/”时capture只有两种值,一种是user,用于调用面向人脸的摄像头(例如手机前置摄像头),一种是environment,用于调用环境摄像头(例如手机后置摄像头)。

当accept=”audio”时,只要有capture就调用设备麦克风,忽略user和environment值。

至于网上提到的camera和filesystem,官方没提。

iOS最遵守遵守HTML5规范,其次是X5内核,安卓的webview基本忽略了capture。

理想情况下应该按照如下开发webview:

1.当accept=”image/”时,capture=”user”调用前置照相机,capture=”其他值”,调用后置照相机

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

<!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(/iPhonesOS/i) == "iphone os") {

                return true;

            } else {

                return false;

            }

        }

</script>

相关文章

  • 手机端H5调用相机的实现

    手机端H5调用相机的实现 在写手机端h5时,常遇到需要调用手机摄像头硬件,进行拍摄或拍视频,这里对此进行说明。 c...

  • H5随笔

    H5兼容VIdeo H5让兼容安卓和IOS调用相机 移动端debug input file 拍照上传IOS图片旋转...

  • H5移动端调用相机或相册

    一: 前提 在做H5时,有时要实现拍照功能,这就要调取手机端的相机,当时,在网上搜了很多能实现的方式,最后还是用h...

  • Android WebView 报No 'Access-Cont

    记录遇到的一个bug,H5端调用原生的相机和相册上传头像,但是相册选择后上传没问题(后面发现也是有问题的),相机拍...

  • webApp调用手机相机 并且预览

    调用手机相机代码) 把次控件影藏掉,并且模拟按钮调用返回此元素的click() 预览相片,利用H5 FileRea...

  • 移动端路由层

    移动端路由层需要解决的问题: 对外部提供远程访问的功能,实现跨应用调用响应,包括H5应用调用、其他App应用调用、...

  • Android 自定义SurfaceView实现拍照功能

    前言 项目集成第三方H5页面需要调用本地相机进行拍照并回传给H5,本来H5可以直接调用相机但是进入的是一个相册列表...

  • Android webview 实现h5的input type=

    一、引言 webview怎么实现web的 选择图片功能,如何让h5通过webview调用系统相册和相机,并在图片传...

  • WebView上传图片问题

    众所周知,Android的WebView内部屏蔽了调用相机的方法,如果H5网页想在WebView内调用相机需要在s...

  • Android客户端实现H5页面调用本地相册和相机上传图片

    适配android5.0及以上机型,实现H5页面调用系统相机和相册上传图片(已实现相关权限申请) 效果图如下: 附...

网友评论

      本文标题:手机端H5调用相机的实现

      本文链接:https://www.haomeiwen.com/subject/uoyajrtx.html