2012-01-23 10 views

risposta

6

Collegare un listener di eventi di stato e verificare se la fotocamera è disattivato, vedi documentazione:

Inviato quando una videocamera segnala il proprio stato. Prima di accedere a una fotocamera , il runtime visualizza una finestra di dialogo Privacy per consentire agli utenti di consentire o negare l'accesso alla propria videocamera. Se il valore della proprietà code è "Camera.Muted", l'utente ha rifiutato di consentire al file SWF di accedere a della videocamera dell'utente. Se il valore della proprietà code è "Camera.Unmuted", l'utente ha consentito al file SWF di accedere alla videocamera dell'utente . http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html#event:status

flash.media.Microphone ha la stessa cosa anche.

4

Causa se si imposta "Ricorda" nel Pannello impostazioni (tasto destro), non ci sarà il popup e quindi nessuna notifica di cambiamento di stato.

Così, al fine di sapere se è consentita la fotocamera (e microfono se bisogno), è possibile controllare la muted attribut:

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

e nel vostro gestore di stato

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; 
     } 
    } 
} 

(si fare lo stesso per il microfono se necessario)

quindi, quando si chiama il metodo per gestire

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

C'è anche un problema, quando l'utente ha negato l'accesso alla fotocamera per questo sito per sempre tramite le impostazioni globali del flash player. In tal caso camera.muted === true ma non c'è alcuna finestra di dialogo di sicurezza e quindi non StatusEvent. Ci sono alcuni modi per rilevare questo, qui: Detecting user's camera settings

Problemi correlati