Capturar foto


([N3] GSI) #1

Desde las ultimas versiones existe la posibilidad de capturar una foto desde la cámara de una tablet, pero el acceso a esta opción es muy enrevesado, alguien sabe si es posible acceder a la cámara de una tablet de alguna forma que pueda abrir la cámara y capturar la foto realizada al campo imagen directamente.

A un usuario poco experimentado el funcionamiento actual le resulta imposible.

Gracias.


([N3] GSI) #2

Nadie ha echo esto? Si alguien lo tiene estoy dispuesto a comprarlo. Gracías


([N1] wikan) #3

No hay manera de hacerlo.
No estaría demás poder lanzarlo directamente con la api, pero hoy por hoy no es posible.

Pon la idea para que pueda ser votada.


([N3] GSI) #4

He visto rutinas js que lo hacen pero no domino js


([N1] wikan) #5

Bueno, compártela a ver que se puede hacer.


([N3] pacosatu) #6

Hola.

Ya se citó hace tiempo un código javascript con el API multimedia de HTML5.
La pega es que solo funciona en algunos exploradores (en Firefox funciona), en el Webkit de Velneo no funciona.


<!DOCTYPE html>
<html lang="es">

<head>

  <meta charset="iso-8859-1">
  <meta name="description" content="Ejemplo de HTML5">
  <meta name="keywords" content="HTML5, CSS3, JavaScript">
  <title>Webcam captura</title>

  <link rel="stylesheet" href="misestilos.css">

</head>
<body>

<video id="video" width="640" height="480" autoplay></video>
<button id="snap">Capturar foto</button>
<canvas id="canvas" width="640" height="480"></canvas>

<script>
   // Put event listeners into place
   window.addEventListener("DOMContentLoaded", function() {
      // Grab elements, create settings, etc.
      var canvas = document.getElementById("canvas"),
      context = canvas.getContext("2d"),
      video = document.getElementById("video"),
      videoObj = { "video": true },
      errBack = function(error) {
         console.log("Error de captura del video: ", error.code); 
      };
      // Put video listeners into place
      if(navigator.getUserMedia) { // Standard
         navigator.getUserMedia(videoObj, function(stream) {
            video.src = stream;
            video.play();
         }, errBack);
      } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
         navigator.webkitGetUserMedia(videoObj, function(stream){
            video.src = window.webkitURL.createObjectURL(stream);
            video.play();
         }, errBack);
      } else if(navigator.mozGetUserMedia) { // WebKit-prefixed
         navigator.mozGetUserMedia(videoObj, function(stream){
            video.src = window.URL.createObjectURL(stream);
            video.play();
         }, errBack);
      }
      // Trigger photo take
      document.getElementById("snap").addEventListener("click", function() {
         context.drawImage(video, 0, 0, 640, 480);
      });
   }, false);
</script>

</body>
</html>

De todas formas siempre es lo mismo, que el equipo de desarrollo coja la librería QT de Multimedia y la encapsule en un Objeto del API o en un Widget de Velneo, unas cuantas líneas de puro código C++.

Saludos
Paco Satué


([N4] mittosoftware) #7

Esto del webkit que menciona Paco, ya deberia ser reemplazado por el nuevo Qt Webengine. Demasiadas limitaciones del webkit.

Luego, para lo que comenta el creador del hilo, hay esto: hay esto https://play.google.com/store/apps/details?id=ascsl.vtools4android&hl=es_419

Por si acaso, he intentado contactarme con Filipe Gomez, sin exito, si alguien por aca sabe como ubicarlo, que nos avise por favor, porque el correo que tenia de el (info@digitalsoftlab.com con el que intercambiamos algunos mensajes inclusive), no funciona, tampoco funciona el email que figura en el playstore (quiza envia los emails a la carpeta de spam).

Eso si, lo logrado por la app del playstore, ya deberia venir de fabrica en la v7, hace tiempo, ¿no les parece?