¿Cómo puedo determinar si se denegó el acceso a la cámara y al micrófono en Flash?as3 determinar si se denegó el acceso a la cámara
Puedo obtener la cámara y el micrófono, pero necesito saber si el usuario denegó el acceso.
¿Cómo puedo determinar si se denegó el acceso a la cámara y al micrófono en Flash?as3 determinar si se denegó el acceso a la cámara
Puedo obtener la cámara y el micrófono, pero necesito saber si el usuario denegó el acceso.
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.
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 !? ...
}
}
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