Причина, если вы установили «Запомнить» на панели настроек (щелчок правой кнопкой мыши), всплывающее окно не будет отображаться и уведомление об изменении статуса не будет.
Итак, чтобы узнать, разрешена ли ваша камера (и микрофон, если необходимо), вы можете проверить атрибут muted
:
var camera:Camera = Camera.getCamera();
if (camera.muted)
{
camera.addEventListener(StatusEvent.STATUS, handleCameraStatus, false, 0, true);
}
else
{
camAllowed = true;
handleWebcam();
}
и в вашем статусе обработчик
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;
}
}
}
(вы делаете то же самое для микрофона, если нужно)
тогда, когда вы вызываете ваш метод для обработки
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 !? ...
}
}