Ir para conteúdo

POWERED BY:

Arquivado

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

Jefrey

Como tirar foto da webcam do usuário (FLASH + PHP)

Recommended Posts

Nesta página há o link de download e os source.

O script funciona bem, pode ser usado livremente (obs.: não fui eu quem desenvolvi).

 

Mas, uma dúvida:

Tem como eu fazer um script em flash que automaticamente tire a foto e envie para o PHP?

No caso, a conexão em Action Script seria essa:

	var myEncoder:JPGEncoder = new JPGEncoder(100);
var byteArray:ByteArray = myEncoder.encode(bitmapData);

var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");

var saveJPG:URLRequest = new URLRequest("save.php");
saveJPG.requestHeaders.push(header);
saveJPG.method = URLRequestMethod.POST;
saveJPG.data = byteArray;

var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, sendComplete);
urlLoader.load(saveJPG);

function sendComplete(event:Event):void{
	warn.visible = true;
	addChild(warn);
	warn.addEventListener(MouseEvent.MOUSE_DOWN, warnDown);
	warn.buttonMode = true;
}

E no PHP seria:

<?php
if(isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$jpg = $GLOBALS["HTTP_RAW_POST_DATA"];
$img = $_GET["img"];
$filename = "images/poza_". mktime(). ".jpg";
file_put_contents($filename, $jpg);
} else{
echo "Encoded JPEG information not received.";
}
?>

 

Ao invés do usuário ter que clicar no botão de aceitar a conexão à webcam, no de tirar a foto e no de salvar, ele clicaria apenas no de aceitar a conexão (já que é obrigatório). O script automaticamente tiraria a foto.

Obs.: isso acontece devido à falta de um Red5 (ou outro) e pelo uso de host gratuito.

Acontece que o script se repetiria várias vezes, a noutra página teria:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<meta http-equiv="Pragma" content="no-cache"> 
<script language="Javascript"> 
 <!--
   function refreshCam(){
rfsh = new Date() ; rfsh = "?"+rfsh.getTime()
document.images["webcam"].src = "webcam.jpg"+rfsh
setTimeout("refreshCam()", 1)
}
 //-->
</script> 
</head> 
<body> 
<img src="webcam.jpg" name="webcam" width="160" height="85" border="0">
<script language="JavaScript"> 
 <!--
   if( document.images )
refreshCam();
 //-->
</script> 
<br><br> 
</body> 
</html> 

Então, o script se repetiria infinitas vezes, dando a impressão que é um vídeo (beeem bad quality, mas fazer o que, né?).

Eu uso o Macromedia Flash 8 com Action Script 2.0.

No PHP eu uso a versão 5.2.5 (por preferência, mas posso atualizar pra 5.3.2 se necessário) com Apache.

O server remoto é Unix (o meu é Windows 7).

Algum exemplo?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Isso não seria no fórum de flash?

Sim e não. O Flash apenas tiraria a foto. O resto, como o salvamento e o loop é com o PHP.

Minha dúvida é mais sobre Flash, mas acho que vai ter que mudar o PHP também.

Mas se algum moderador quiser mudar, beleza.

Acho que o melhor seria usar o flex para fazer esse projeto

 

No blog do Daniel Schmitz tem um bom conteúdo sobre flex em geral, e um tópico referente a sua dúvida

 

http://www.flex.etc....do-no-servidor/

Valeu, já to testando.

Vo ver se funfa tbem em server free, pq eh o q eu uso

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.