Contenido

W3C Capture API, ampliando los periféricos de entrada en la web

9 dic

+ 1

Si Google (o cualquiera) quiere hacer un sistema operativo basado en el navegador, tendrá que empezar a tener en cuenta el nuevo borrador que la W3C que nos permitirá, ampliar el número de periféricos de entrada desde la propia web.

El borrador, especifica una documentación sobre la interconexión de periféricos como la cámara o el micrófono para interactuar con nuestras webs desde Javascript.

var container = document.createElement("div");
document.body.appendChild(container);

var screenWidth = window.innerWidth;

function successCallback(data) {
  for (var i in data) {
    var img = document.createElement("img");
    img.src = data[i].uri;
    if (data[i].format.width > screenWidth) {
      img.style.width = screenWidth + "px";
      img.style.height = (data[i].format.height/data[i].format.width)*screenWidth + "px";
    }
    container.appendChild(img);
  }
}

function errorCallback(err) {
  alert(err.message + " (" + err.code + ")");
}

transactionId = navigator.device.captureImage(successCallback, 1, errorCallback);

Por el momento, ningún navegador nos permitirá usar esta especificación, pero llegado el momento será posible subir imágenes directamente desde nuestra cámara o grabar nuestros mensajes directamente desde una página web.

var summary;
var formats = navigator.device.supportedImageFormats;

for (var key in formats) {
summary += key + ": " + formats[key] + "\n";
}

alert(summary);

Dependiendo de la cámara del usuario podremos incluso detectar los formatos de imágenes que permite obtener. Es una lástima que estas implemententaciones vayan tan lentas y que para poder disfrutar de ellas tengamos que esperar tantos años.

Via

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.