Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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);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?
Carregando comentários...