Advertisement
Avatarr

rtc

Jan 15th, 2013
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. navigator.getUserMedia = navigator.webkitGetUserMedia || navigator.getUserMedia;
  2. window.URL = window.URL || window.webkitURL;
  3.  
  4. var app = document.getElementById('wrapper');
  5. var video = document.getElementById('screen');
  6. var canvas = document.getElementById('photo');
  7. var gallery = document.getElementById('main-photo');
  8. document.getElementById("start").hidden = false;
  9.  
  10. function gotStream(stream) {
  11.     if (window.URL) {
  12.         video.src = window.URL.createObjectURL(stream);
  13.     } else {
  14.         video.src = stream; // Opera.
  15.     }
  16.  
  17.     video.onerror = function(e) {
  18.         stream.stop();
  19.     };
  20.  
  21.     stream.onended = noStream;
  22.  
  23.     video.onloadedmetadata = function(e) { // Not firing in Chrome. See
  24.         // crbug.com/110938.
  25.         document.getElementById('text-msg').hidden = true;
  26.         document.getElementById('wrapper').hidden = false;
  27.         document.getElementById("cap").hidden = false;
  28.         document.getElementById("goto").hidden = false;
  29.         document.getElementById("start").hidden = true;
  30.         document.getElementById("stop").hidden = false;
  31.     };
  32.  
  33.     // Since video.onloadedmetadata isn't firing for getUserMedia video, we have
  34.     // to fake it.
  35.     setTimeout(function() {
  36.         canvas.width = video.videoWidth;
  37.         canvas.height = video.videoHeight;
  38.         document.getElementById('text-msg').hidden = true;
  39.         document.getElementById('wrapper').hidden = false;
  40.         document.getElementById("cap").hidden = false;
  41.         document.getElementById("goto").hidden = false;
  42.         document.getElementById("start").hidden = true;
  43.         document.getElementById("stop").hidden = false;
  44.     }, 50);
  45. }
  46.  
  47. function noStream(e) {
  48.     var msg = 'Camera has stoped or click agian access to use camera';
  49.     if (e.code == 1) {
  50.         msg = 'User denied access to use camera.';
  51.     }
  52.     document.getElementById('error').textContent = msg;
  53. }
  54.  
  55. function capture() {
  56.  
  57.     var photo = document.getElementById('photo'), context = photo.getContext('2d');
  58.     photo.width = video.clientWidth;
  59.     photo.height = video.clientHeight;
  60.     context.drawImage(video, 0, 0, photo.width, photo.height);
  61.     var img = document.createElement('img');
  62.     img.src = canvas.toDataURL('image/png');
  63.     gallery.appendChild(img);
  64.  
  65. }
  66.  
  67. function onStop() {
  68.     video.src = " ";
  69.     document.getElementById('text-msg').hidden = false;
  70.     document.getElementById('wrapper').hidden = true;
  71.     document.getElementById("cap").hidden = true;
  72.     document.getElementById("goto").hidden = true;
  73.     document.getElementById("stop").hidden = true;
  74.     document.getElementById("start").hidden = false;
  75.  
  76. }
  77.  
  78. function onStart(el) {
  79.     if (!navigator.getUserMedia) {
  80.         document.getElementById('error').innerHTML = 'Sorry. <code>navigator.getUserMedia()</code> is not available.';
  81.         return;
  82.     } else {
  83.  
  84.         navigator.getUserMedia({
  85.             video : true
  86.         }, gotStream, noStream);
  87.     }
  88.  
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement