phonegap入门--6 capture.captureImage 拍照

capture.captureImage

开启摄像头应用程序,返回采集到的图像文件信息。

使用方法:

navigator.device.capture.captureImage( 
	CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureImageOptions options]
);

该方法通过设备的摄像头应用程序开始一个异步操作以采集图像。该操作允许设备用户在一个会话中同时采集多个图像。

当用户退出摄像头应用程序,或系统到达CaptureImageOptions的limit参数所定义的最大图像数时都会停止采集操作。如果没有设置limit参数的值,则使用其默认值1,也就是当用户采集到一个图像后采集操作就会终止。

当采集操作结束后,系统会调用CaptureCB回调函数,传递一个包含每个采集到的图像文件的MediaFile对象数组。如果用户在完成一个图像采集之前终止采集操作,系统会调用CaptureErrorCB回调函数,并传递一个包含CaptureError.CAPTURE_NO_MEDIA_FILES错误代码的CaptureError对象。

CaptureImageOptions

limit: 在单个采集操作期间能够采集的图像数量最大值,必须设定为大于等于1(默认值为1)。
mode: 选定的图像模式,必须设定为capture.supportedImageModes枚举中的值。

一段例子代码:

<!DOCTYPE html>
<html>
  <head>
    <title>capture.captureAudio</title>

    <script type="text/javascript" charset="utf-8" src="js/cordova-2.6.0.js"></script>
    <script type="text/javascript" charset="utf-8">
	//captureAudio方法成功执行后回调函数
    function captureSuccess(mediaFiles) {
        var i, len;
        for (i = 0, len = mediaFiles.length; i < len; i += 1) {
           //业务逻辑
            navigator.notification.alert(mediaFiles[i].fullPath + " " +mediaFiles[i].name);
        }       
    }

    //captureAudio方法执行失败后回调函数
    function captureError(error) {
        var msg = 'capture 发生错误: ' + error.code;
        navigator.notification.alert(msg, null, 'Uh oh!');
    }

    function captureImage() {
        // limit 拍照的张数
       	navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 2});
    }

    </script>
  </head>
  <body>
   <h1>capture.captureImage</h1><br/>
    <button οnclick="captureImage();">Capture Audio</button> <br>
  </body>
</html>

运营如图:


拍照完成后,弹出文件地址和名称,会弹出两次,因为我们设置了拍摄两张照片


  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值