Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Raul Ribeiro

Webcam + Skype

Recommended Posts

Bom dia,

 

Estou desenvolvendo um aplicativo em AS3 que utiliza webcam.

Mas quando a câmera está sendo utilizada pelo Skype, ela fica inativa no flash.

Aparentemente há um conflito quando a webcam já está sendo usada por outro aplicativo, e depois é solicitada pelo flash.

 

Não preciso de uma solução para este problema, se for muito trabalhoso. Fico satisfeito em poder rastrear corretamente quando esse evento ocorre, para dar um feedback ao usuário de por que não existe imagem em meu aplicativo.

 

Segue meu codigo de funcionamento da webcam:

 


var vid:Video; 
var cam:Camera = Camera.getCamera(); 
var tf:TextField = new TextField(); 
tf.x = 650; 
tf.autoSize = TextFieldAutoSize.LEFT; 
addChild(tf); 

if (cam != null) 
{ 
   cam.addEventListener(StatusEvent.STATUS, statusHandler); 
cam.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
   vid = new Video(); 
   vid.attachCamera(cam); 
} 
function statusHandler(event:StatusEvent):void 
{ 
   if (!cam.muted) 
   {
	cam.setMode(640, 480, 25); 
       cam.setQuality(0,100);
	cam.setMotionLevel(10, 3000)

	vid.width = cam.width; 
       vid.height = cam.height;

       addChild(vid); 
       t.start(); 
   } 
   cam.removeEventListener(StatusEvent.STATUS, statusHandler); 
}

function activityHandler(e)
{
if(e.activating == false)
{
}
}

var t:Timer = new Timer(100); 
t.addEventListener(TimerEvent.TIMER, timerHandler); 
function timerHandler(event:TimerEvent):void 
{ 
   tf.text = ""; 
   tf.appendText("activityLevel: " + cam.activityLevel + "\n"); 
   tf.appendText("bandwidth: " + cam.bandwidth + "\n"); 
   tf.appendText("currentFPS: " + cam.currentFPS + "\n"); 
   tf.appendText("fps: " + cam.fps + "\n"); 
   tf.appendText("keyFrameInterval: " + cam.keyFrameInterval + "\n"); 
   tf.appendText("loopback: " + cam.loopback + "\n"); 
   tf.appendText("motionLevel: " + cam.motionLevel + "\n"); 
   tf.appendText("motionTimeout: " + cam.motionTimeout + "\n"); 
   tf.appendText("quality: " + cam.quality + "\n"); 
}

 

Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você já testou ver se ele não executa a função "statusHandler" ? com a propriedade "cam.muted", setado para TRUE nesse caso?

 

caso isso não aconteça, acho que só colocando um Timer para executar de tempo em tempo,

e verificar o objeto "cam"

 

 

dá uma olhada nesse link, tem uns exemplos, talvez ajude

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

você já testou ver se ele não executa a função "statusHandler" ? com a propriedade "cam.muted", setado para TRUE nesse caso?

 

caso isso não aconteça, acho que só colocando um Timer para executar de tempo em tempo,

e verificar o objeto "cam"

 

 

dá uma olhada nesse link, tem uns exemplos, talvez ajude

 

 

[]´s

 

 

Olá Eder,

 

o "cam.muted" está sempre FALSE, ou seja, ele sempre identifica que há uma câmera ativa e disponível.

E todos os outros atributos relacionados à atividade da webcam também ficam normais exceto o activityLevel, que fica estático em 1.

Tentei fazer um filtro baseado neste marcador, mas nao é muito confiável, pois ele também pode ficar em 1 por vários outros motivos, como por exemplo, o usuário sair de frente da camera, e a mesma captar um fundo estático.

 

Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.