PhoneGap中文网

 找回密码
 立即注册
查看: 12500|回复: 3
打印 上一主题 下一主题

无法打开相机的问题

[复制链接]

22

主题

35

帖子

192

积分

注册会员

Rank: 2

积分
192
跳转到指定楼层
楼主
发表于 2014-12-2 10:36:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<!DOCTYPE html>
<html>
<head>
<title>Capture Photo</title>

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">

        var pictureSource;                //图片来源
        var destinationType;                //设置返回值的格式
       
        // 等待PhoneGap连接设备
        document.addEventListener("deviceready",onDeviceReady,false);
       
        // PhoneGap准备就绪,可以使用!
        function onDeviceReady() {
                pictureSource=navigator.camera.PictureSourceType;
                destinationType=navigator.camera.DestinationType;
        }
       
        // 当成功获得一张照片的Base64编码数据后被调用
        function onPhotoDataSuccess(imageData) {
        alert('enter function');
       
                // 取消注释以查看Base64编码的图像数据
                // console.log(imageData);
                // 获取图像句柄
                var smallImage = document.getElementById('smallImage');
                         
                // 取消隐藏的图像元素
                smallImage.style.display = 'block';
               
                // 显示拍摄的照片
                // 使用内嵌CSS规则来缩放图片
                smallImage.src = "data:image/jpeg;base64," + imageData;
        }
          
   // 当成功得到一张照片的URI后被调用
   function onPhotoURISuccess(imageURI) {
       
                // 取消注释以查看图片文件的URI
                // console.log(imageURI);
                // 获取图片句柄
                var largeImage = document.getElementById('largeImage');
                 
                // 取消隐藏的图像元素
                largeImage.style.display = 'block';
       
                // 显示拍摄的照片
                // 使用内嵌CSS规则来缩放图片
                largeImage.src = imageURI;
        }
          
   // “Capture Photo”按钮点击事件触发函数
   function capturePhoto() {
   
                   alert('开始事件');

                // 使用设备上的摄像头拍照,并获得Base64编码字符串格式的图像
                navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50 });
   }
   
   // “Capture Editable Photo”按钮点击事件触发函数
   function capturePhotoEdit() {

                // 使用设备上的摄像头拍照,并获得Base64编码字符串格式的可编辑图像
                navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit: true });
   }
          
   //“From Photo Library”/“From Photo Album”按钮点击事件触发函数
   function getPhoto(source) {
   
                   // 从设定的来源处获取图像文件URI
                navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,
                destinationType: destinationType.FILE_URI,sourceType: source });
   }

   // 当有错误发生时触发此函数
   function onFail(mesage) {
                alert('Failed because: ' + message);
   }
       
</script>
</head>
<body>
        <button onclick="capturePhoto();">Capture Photo</button> <br>
        <button onclick="capturePhotoEdit();">Capture Editable Photo</button> <br>
        <button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">From Photo Library</button><br>
        <button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">From Photo Album</button><br>
        <img style="display:none;width:60px;height:60px;" id="smallImage" src="" />
        <img style="display:none;" id="largeImage" src="" />
        </body>
</html>

以上代码运行时报错 Cannot call method 'getPicture' of undefined at file:///android_asset/www/Camer.html:60
是否没有导入jar包?我是新手!求大神解决!
回复

使用道具 举报

493

主题

2035

帖子

6894

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6894
沙发
发表于 2014-12-2 18:13:15 | 只看该作者
换成  cordova.js试试 ,还有就是 3.0以上需要安装插件的
回复 支持 反对

使用道具 举报

22

主题

35

帖子

192

积分

注册会员

Rank: 2

积分
192
板凳
 楼主| 发表于 2014-12-5 11:25:09 | 只看该作者
谢谢! 照做解决!
回复 支持 反对

使用道具 举报

3

主题

22

帖子

79

积分

注册会员

Rank: 2

积分
79
地板
发表于 2015-1-8 14:20:49 | 只看该作者
应该引用这个cordova.js吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-11-23 01:14 , Processed in 0.058101 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表