2013-01-08 63 views
0

我試圖讓相機從一個按鈕上工作,但在下面的註釋行中出現錯誤。我正在使用Phonegap/Cordova(v2.1)提供的文檔。任何幫助讚賞。未定義相機和PictureSourceType Phonegap

var pictureSource = navigator.Camera.PictureSourceType.CAMERA; // Cannot read PictureSourceType of undef 
    var destinationType = navigator.camera.DestinationType.FILE_URI; 

    function onPhotoURISuccess(imageURI) { 
     var placeImage = document.getElementById('placeImage'); 
     placeImage.src = imageURI; 
     placeImage.style.display = 'block'; 
     console.log(imageURI); 
    } 

    function getPhoto() { 
     navigator.Camera.getPicture(onPhotoURISuccess, onFail, { //I am getting an error for this line saying camera is not defined? 
      quality: 50, 
      destinationType: camera.destinationType.FILE_URI, 
      sourceType: pictureSource 
     }); 
    } 

    function onFail(message) { 
     alert('Failed because: ' + message); 
    } 
+0

你能讀取destinationType嗎?你在腳本中包含了cordova.js嗎? – cggaurav

+0

嗨cggaurav,我在我的腳本中有這個。 我還沒有包含onDeviceReady函數,因爲我已經在使用前一個測試數據庫了。它是否正確?在拍照之前我應該​​能夠到達目的地嗎? – Inkers

+1

http://docs.phonegap.com/en/2.0.0/cordova_camera_camera.md.html,應該是navigator.camera而不是navigator.Camera? – cggaurav

回答

2

確保首先獲得「deviceready」事件。對於你的電話getPicture()這樣做:

navigator.Camera.getPicture(onPhotoURISuccess, onFail, { 
     quality: 50, 
     destinationType: navigator.camera.DestinationType.FILE_URI, 
     sourceType: pictureSource 
    }); 
+0

謝謝西蒙,我正在使用這種方法,仍然得到錯誤(未定義)。我現在無法處理我的代碼,但稍後會再試一次。請參閱我上面的最後一條評論。也許你可以點亮一下爲什麼它現在正在工作,沒有這條線。我現在正在獲得成功功能,並且圖像路徑正在記錄到控制檯,所以我認爲現在使用它足夠安全了? – Inkers

+0

我可能應該補充說錯誤仍然在Eclipse中的控制檯上登錄。儘管如此,我可以用相機拍照,在我的html中顯示它,調用控制檯中的成功功能和日誌路徑。我通過Eclipse在手機上測試了這一點。 – Inkers

0

我也在研究。如果您正在談論Android,則需要在真實設備上進行測試。無論您在Eclipse中使用瀏覽器還是模擬器進行測試,它都會給您帶來Camera not defined錯誤。我猜這是因爲硬件問題。

相關問題