• 摄像头的管理(camera) ---- HTML5+


    模块camera

    Camera模块管理设备的摄像头,可用于拍照、摄像操作,通过plus.camera获取摄像头管理对象。

    应用场景:保存自拍,保存照片,上传照片,保存视频,上传视频;

    通过之前的模块可以大致知道:这个是封装了一个camera的一个对象,这个对象有两个方法,一个拍照的方法,一个摄像的方法;剩下的就是一个回调;

    两个核心方法

    captureImg();
    startVideoCapture(); / stopVideoCapture();

    方法:Camera plus.camera.getCamera(index); 1,主摄像头,2 ,辅摄像头

    具体

    var camera = plus.camera.getCamera();
    camera.captureImage( successCB, errorCB, option );

    首先是两个回调:成功回调和失败回调;成功回调返回一个图片的存放路径;失败回调返回一个error对象,包含两个信息:code,message;
    其次是option对象:
      attribute string filename:拍照或摄像文件保存的路径,以 “ / ”结尾是路径,自动生成文件名;(名字也可以指定,但是不要这样)
      attribute string format:拍照或摄像的文件格式;
      attribute string index:1,主摄像头;2,辅助摄像头,仅仅ios支持;
      attribute PopPosition popover:拍照或摄像界面弹出指示区域,仅ipad{top:'10px',left:'10px','2000px',height:'2000px'}

    示例

    <header class="mui-bar mui-bar-nav">
        <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
        <h1 class="mui-title">调用摄像头</h1>
    </header>
    <div class="mui-content mui-content-padded">
        <button type="button" class="mui-btn mui-btn-blue mui-btn-block" id="oCamera">拍照片</button>
        <button type="button" class="mui-btn mui-btn-blue mui-btn-block" id="oVideo">录像</button>
        <ul class="mui-table-view" id="imageList">
            <li class="mui-table-view-cell">
                <a class="mui-navigate-right">
                    Item 1
                </a>
            </li>
        </ul>
        <img src="" alt="" id="imgpath" />
        <video id="videoC" width="100%" controls="controls"></video>
    </div>
    <script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script>
    <script src="js/mui.min.js"></script>
    <script type="text/javascript">
    mui.plusReady(function(){
        $("#oCamera").bind('tap',function(){
            var camera = plus.camera.getCamera();
            camera.captureImage(function(ImageUrl){
                var imageItem = "<li class='mui-table-view-cell'><a class='mui-navigate-right'>"+ImageUrl+"</a></li>";
                $("#imageList").append(imageItem);
                plus.io.resolveLocalFileSystemURL(ImageUrl,function(entry){
                    $("#imgpath").attr('src',entry.fullPath);
                });            
            },function(e){
                alert(e.message);
                console.log(e.message);
            },{filename:"_doc/photo/"});
        });
        $("#oVideo").bind('tap',function(){
            var camera = plus.camera.getCamera();
            camera.startVideoCapture(function(ImageUrl){
                var imageItem = "<li class='mui-table-view-cell'><a class='mui-navigate-right'>"+ImageUrl+"</a></li>";
                $("#imageList").append(imageItem);
                plus.io.resolveLocalFileSystemURL(ImageUrl,function(entry){
                    $("#videoC").attr('src',entry.fullPath);
                });            
            },function(e){
                alert(e.message);
                console.log(e.message);
            },{filename:"_doc/video/"});
        });
    });
    </script>
  • 相关阅读:
    影视感悟
    缩写字母
    从工程文化和运维理念理解Netflix
    telinit:Did not receive a reply.Possible causes include:the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired
    centos6 ext4修复
    windows显示日期时间(精确到秒)
    【C#】IDispose接口的应用
    【转】【WPF】WPF 自定义快捷键命令(Command)
    【转】【WPF】MVVM模式的3种command
    【转】【WPF】WriteableBitmap应用及图片数据格式转换
  • 原文地址:https://www.cnblogs.com/e0yu/p/7843544.html
Copyright © 2020-2023  润新知