8
votes

As3 Déterminez si l'accès à la caméra a été refusé

Comment puis-je déterminer si l'accès à la caméra et à la machine a été refusé en flash?

Je peux obtenir la caméra et le micro, mais je dois savoir si l'utilisateur a refusé l'accès.


0 commentaires

3 Réponses :


6
votes

Joindre un écouteur d'événement d'état et vérifiez si la caméra est en sourdine, voir Docs:

expédié lorsqu'une caméra signale son statut. Avant d'accéder à un Caméra, l'exécution affiche une boîte de dialogue Confidentialité pour permettre aux utilisateurs de permettre ou refuser l'accès à leur appareil photo. Si la valeur de la propriété du code est "Caméra.muted", l'utilisateur a refusé d'autoriser l'accès au fichier SWF à la caméra de l'utilisateur. Si la valeur de la propriété du code est "Caméra.unked", l'utilisateur a autorisé l'accès au fichier SWF à la Caméra de l'utilisateur. http: //help.adobe .COM / EN_US / FlashPlatform / Référence / ActionScript / 3 / Flash / Media / Camera.html # Événement: Statut

flash.media.microphone a la même chose aussi.


0 commentaires

4
votes

Cause Si vous définissez "N'oubliez pas" dans le panneau Paramètres (clic droit), il n'y aura pas la fenêtre contextuelle et donc aucune notification de changement d'état.

Donc, afin de savoir si votre appareil photo est autorisé (et microphone si besoin), vous pouvez vérifier le sourdle code> attribut: p> xxx pré>

et dans votre gestionnaire d'état p> xxx pré >

(vous faites la même chose pour le microphone si besoin) p>

Ensuite, lorsque vous appelez votre méthode pour gérer P>

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 !? ...
    }
}


0 commentaires

1
votes

Il existe également un problème, lorsque l'utilisateur a refusé l'accès à la caméra pour ce site pour toujours via Global Flash Player Paramètres. Dans ce cas caméra.muted === true Mais il n'y a pas de boîte de dialogue de sécurité et donc non StatutEvent . Il y a des moyens de détecter cela, ici: Détection des paramètres de la caméra de l'utilisateur


0 commentaires