2016-04-29 4 views
1

Iam работает над функциональностью камеры с помощью cordova в моем проекте javascript. Я использовал файлы cordova.js и camera.js в своем проекте. Но когда я вызываю функцию getPicture() камеры.js, она не работает на моем устройстве. Вы можете найти приведенный ниже код, который я пробовал в своем html. Пожалуйста, помогите мне в этом. Заранее спасибо.Функциональность камеры не работает с cordova.js/camera.js

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    
 
    <script src="cordova.js" type="text/javascript" ></script> 
 
    <script src="Camera.js" type="text/javascript" ></script> 
 
    <script language="javascript"> 
 

 
    \t \t var pictureSource; 
 
    \t \t var destinationType; 
 

 
\t   document.addEventListener("deviceready",onDeviceReady,false); 
 

 
\t \t function onDeviceReady() { 
 
\t \t \t pictureSource=navigator.camera.PictureSourceType; 
 
\t \t \t destinationType=navigator.camera.DestinationType; 
 
\t \t } 
 

 
\t \t function onPhotoDataSuccess(imageData) { 
 
\t \t \t var smallImage = document.getElementById('smallImage'); 
 
\t \t \t smallImage.style.display = 'block'; 
 
\t \t \t smallImage.src = "data:image/jpeg;base64," + imageData; 
 
\t \t } 
 

 
\t \t function capturePhoto() { 
 
\t \t \t navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, 
 
\t \t \t \t destinationType: destinationType.DATA_URL }); 
 
\t \t } 
 

 

 
\t \t function getPhoto(source) { 
 
\t \t \t navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, 
 
\t \t \t \t destinationType: destinationType.FILE_URI, 
 
\t \t \t \t sourceType: source }); 
 
\t \t } 
 
\t \t function onFail(message) { 
 
\t \t \t alert('Failed because: ' + message); 
 
\t \t } 
 
    
 
    
 
    document.getElementById('cam1').innerHTML='<a href="javascript:void(0)" onclick="capturePhoto()"><img src="../images/camera_up.gif" alt="img" width="23" height="20" border="0" id="smallImage" /></a>'; 
 
    </script>

+0

Что показывает журнал «Log Cat»? любое сообщение? –

+1

Возможно, тип 'DATA_URL' слишком много памяти, а ОС прерывает ваш скрипт? Попробуйте вместо этого использовать тип 'Camera.DestinationType.FILE_URI' и посмотрим, будет ли это работать ... – Uzbekjon

+0

@jaydroider Я получаю эту ошибку: Uncaught TypeError: Не удается прочитать свойство 'getPicture' неопределенного в Log Cat – User

ответ

1

Попробуйте установить плагин с помощью командной консоли, найдите свой проект, а затем использовать эти команды.

  • Кордова версии 5,0 +

cordova plugin add cordova-plugin-camera

  • Старая версия

cordova plugin add org.apache.cordova.camera

Это команды автоматически добавлять ссылки в вашем config.xml

Удалить эту ссылку:

<script src="Camera.js" type="text/javascript" ></script> 
+0

также уверен, что 'cordova_plugins.js' загружается правильно. Вчера у меня была проблема. –

Смежные вопросы