2012-01-23 14 views

Respuesta

6

Adjuntar un detector de eventos de estado y comprobar si la cámara está apagada, ver documentos:

distribuye cuando una cámara informa sobre su estado. Antes de acceder a una cámara , el tiempo de ejecución muestra un cuadro de diálogo de Privacidad para permitir a los usuarios permitir o denegar el acceso a su cámara. Si el valor de la propiedad del código es "Camera.Muted", el usuario se ha negado a permitir que el archivo SWF acceda a la cámara del usuario. Si el valor de la propiedad del código es "Camera.Unmuted", el usuario ha permitido que el archivo SWF acceda a la cámara del usuario . http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html#event:status

flash.media.Microphone tiene la misma cosa también.

4

Causa si configura "Recordar" en el Panel de configuración (clic con el botón derecho), no aparecerá la ventana emergente y, por lo tanto, no se modificará ninguna notificación de estado.

Por lo tanto, con el fin de saber si se permite que la cámara (y el micrófono si es necesario), se puede comprobar la muted attribut:

var camera:Camera = Camera.getCamera(); 
if (camera.muted) 
{ 
    camera.addEventListener(StatusEvent.STATUS, handleCameraStatus, false, 0, true); 
} 
else 
{ 
    camAllowed = true; 
    handleWebcam(); 
} 

y en el controlador de estado

private function handleCameraStatus(e:StatusEvent):void 
{ 
    witch (e.code) 
    { 
     case 'Camera.Muted': 
     { 
      camAllowed = false; 
      trace("Camera muted"); 
      break; 
     } 
     case 'Camera.Unmuted': 
     { 
      camAllowed = true; 
      trace("Camera unmuted"); 
      handleWebcam(); 
      break; 
     } 
    } 
} 

que (hacer lo mismo para el micrófono si es necesario)

luego, cuando llame a su método para manejar

private function handleWebcam() 
{ 
    if (camAllowed && micAllowed) 
    { 
     // Do what you need when all is OK 
    } 
    else 
    { 
     // Either wait for the 2 status to switch to true, either you got a problem !? ... 
    } 
} 
1

También hay un problema cuando el usuario ha denegado el acceso a la cámara para este sitio para siempre a través de la configuración global de flash player. En ese caso, camera.muted === true pero no hay ningún cuadro de diálogo de seguridad y, por lo tanto, no StatusEvent. Hay algunas maneras de detectar esto, aquí: Detecting user's camera settings

Cuestiones relacionadas