Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/02/2014, 17:11
Avatar de hcrisel
hcrisel
 
Fecha de Ingreso: diciembre-2013
Ubicación: Gualeguaychú- Entre Rios
Mensajes: 58
Antigüedad: 11 años, 2 meses
Puntos: 4
Pregunta Apagar dispositivo WebCam

Hola te escribo este post para ver si podés darme una mano.

El código HTML que les agregué activa una WebCam con lo básico.

Mi problema es el siguiente:
Cuando desactivo, desconecto, apago la webcam; logro esconderla del navegador, pero sigue prendida. Este es mi problema.
Yo desearía cerrar totalmente el stream. Pero no logro hacerlo. Le ponga lo que le ponga me sigue mostrando la figura de color verde de la WebCam en el Navegador y si pincho en ella me dice que: "Esta compartiendo el dispositivo con mi pagina".

Te agradezco cualquier orientación que puedas darme.

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.  
  4.     <head>
  5.         <title>Cámara Web con HTML5</title>
  6.         <meta charset="UTF-8">
  7.         <style>
  8.             *{margin:0px; padding:0px;}
  9.             body { background-color:RGB(215,201,168); }
  10.         </style>
  11.     </head>
  12.  
  13. <body> <!-- onload="onLoad()"> -->
  14.     <video id="webcam" style="display:none"></video>
  15.     <br>
  16.     <input type="button" onclick="conectar()" value="Selecciona WebCam"/>
  17.     <input type="button" onclick="desconecta()" value="Desconectar"/>
  18. </body>
  19.  
  20.         estadoVideo = false;
  21.  
  22.         function hasGetUserMedia() {
  23.             navigator.getUserMedia = navigator.getUserMedia ||
  24.                 navigator.mozGetUserMedia ||
  25.                 navigator.webkitGetUserMedia ||
  26.                 navigator.msGetUserMedia;
  27.             if (navigator.getUserMedia) {return true;} else {return false;}
  28.         }
  29.        
  30.         function hasURL() {
  31.             window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL;
  32.             if (window.URL && window.URL.createObjectURL) {return true;} else {return false;}
  33.         }
  34.            
  35.         function error(e) { alert("Fallo en la aplicación. "+e); }
  36.        
  37.         function setStream(stream) {
  38.             var webcam = document.getElementById("webcam");
  39.             webcam.src = window.URL.createObjectURL(stream);
  40.             webcam.setAttribute("width", 160)
  41.             webcam.setAttribute("heigth", 120)
  42.             webcam.style.display="block";
  43.             webcam.play();
  44.         }
  45.        
  46.         function conectar() {
  47.             if (!hasGetUserMedia() || !hasURL()) {alert("Tu navegador no soporta getUserMedia()"); return false;}
  48.             navigator.getUserMedia( {video: true, audio: false}, setStream, error );
  49.             estadoVideo = true;
  50.             return true;
  51.         }
  52.  
  53. // Este es mi problema
  54.         function desconecta() {  if(estadoVideo == false) {return};
  55.             estadoVideo = false;
  56.             // window.URL.revokeObjectURL(objectURL);
  57.             webcam.mozSrcObject=null;
  58.             webcam.src="";
  59. //                webcam.removeChild(video);
  60.             webcam.style.display="none";
  61. //            webcam.pause();
  62.             webcam.stop();
  63.         }
  64.     </script>
  65.  
  66. </html>

Como ven en la última función le ponga lo que sea el resultado es el mismo.
__________________
En lo que pueda ayudarte solo avisame. Todos para uno y uno para todos (sin abusar de los demás).