<input type="file" accept="image/*;capture=camera"> <input type="file" accept="image/*;capture=camcorder"> <input type="file" accept="image/*;capture=microphone">
problems with file input capture
-only works on mobile
-file open button is unstylable
-different app can break the flow
navigator.getUserMedia(constraints, successCallback, errorCallback);
function openCameraPane(callback, fullscreen) { if (fullscreen) document.body.webkitRequestFullscreen(); _myVideoCallback = callback; var constraints = {video: true}; navigator.getUserMedia(constraints,successCallback,errorCallback); }
function successCallback(stream) { var video = createVideoUserInterface(); video.src = window.URL.createObjectURL(stream); }
function snapshot(ev) { var video = document.querySelector('.camera-video'); var canvas = document.querySelector('.camera-picture'); var ctx = canvas.getContext('2d'); ctx.drawImage(video, 0, 0); }
MediaStreamTrack.getSources(gotSources); <element>.requestFullscreen();
html5 geolocation API
maps, augmented reality, geocaching, nearby features
navigator.geolocation.getCurrentPosition( function(position){ do_something( position.coords.latitude, position.coords.longitude ) });
Vibration API
navigator.vibrate(1000)