2014-06-25 10 views
8

Próbuję użyć kamery i chciałbym się dowiedzieć, czy masz jakiś przykład, jak sprawić, by działała ona zarówno w Internecie, jak i natywnie.Używanie kamery zarówno dla aplikacji natywnej, jak i internetowej za pomocą Ionic/AngularJS i Cordova

Mam ten fragment kodu, pożyczone od NG-Cordova Doc:

$scope.takePicture = function() { 
     var options = { 
      quality: 75, 
      destinationType: Camera.DestinationType.DATA_URL, 
      sourceType: Camera.PictureSourceType.CAMERA, 
      allowEdit: true, 
      encodingType: Camera.EncodingType.JPEG, 
      targetWidth: 100, 
      targetHeight: 100, 
      popoverOptions: CameraPopoverOptions, 
      saveToPhotoAlbum: false 
     }; 

     $cordovaCamera.getPicture(options).then(function(imageData) { 
      // Success! Image data is here 
     }, function(err) { 
      // An error occured. Show a message to the user 
     }); 
    } 

Kiedy go używać, to działa dobrze z moim urządzeniem, ale złapać błąd z wersji internetowej

ReferenceError: Camera is not defined 

Dlatego pytam, czy masz dobry sposób na zrobienie tego. Mogłabym zasymulować kliknięcie ukrytego wejścia, ale nie wygląda to ładnie. Jeśli masz jakiś pomysł :)

Odpowiedz

4

Możesz zapewnić implementację dostępu do kamery zarówno dla Cordova, jak i standardowej przeglądarki. Standardowa realizacja przeglądarka może być realizowana za pomocą tego

http://www.html5rocks.com/en/tutorials/getusermedia/intro/

W3 draft

i sprawdzić, czy używasz w aplikacji lub w przeglądarce, można użyć

ionic.Platform.platform() 

udokumentowane here

+0

Czy myślisz, że powinienem owinąć go w fabrykę? Jestem całkiem nowy w kącie/cordova/ionic – Kai23

+0

Tak, powinieneś mieć swój '$ scope.takePicture()', dostępny przez przycisk na twoim szablonie, wykonujący funkcję w fabryce. – Clawish

+0

W porządku, dzięki. Zastanawiam się, czy to już nie istnieje, nie mogę być jedynym, który o tym myśli. – Kai23

Powiązane problemy