PhoneGap中文网

标题: 无法打开相机的问题 [打印本页]

作者: Stivenhui    时间: 2014-12-2 10:36
标题: 无法打开相机的问题
<!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包?我是新手!求大神解决!
作者: admin    时间: 2014-12-2 18:13
换成  cordova.js试试 ,还有就是 3.0以上需要安装插件的
作者: Stivenhui    时间: 2014-12-5 11:25
谢谢! 照做解决!
作者: wjwcq    时间: 2015-1-8 14:20
应该引用这个cordova.js吧




欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2