{"id":288,"date":"2026-03-04T03:40:24","date_gmt":"2026-03-04T03:40:24","guid":{"rendered":"https:\/\/hackcuba.net\/?p=288"},"modified":"2026-03-04T03:40:24","modified_gmt":"2026-03-04T03:40:24","slug":"webcam-en-tu-pelicula-flash","status":"publish","type":"post","link":"https:\/\/hackcuba.net\/?p=288","title":{"rendered":"WebCam en tu pel\u00edcula Flash"},"content":{"rendered":"\n<p>La gente de Macromedia (ahora Adobe), nos han puesto bastante sencillo lo que en otros lenguajes puede dificultarse un poco. Como plataforma interactiva, Flash permite en pocos pasos controlar el <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>hardware de entrada y salida. Esto se debe a que incorpora clases predefinidas que distribuyen, a trav\u00e9s de propiedades y m\u00e9todos, todo lo necesario para dominar tanto la emisi\u00f3n de informaci\u00f3n por la pantalla, impresora y altavoces, como la recepci\u00f3n de datos a trav\u00e9s de la red, el teclado, el micr\u00f3fono o una c\u00e1mara de video digital. Este \u00faltimo ejemplo es el que utilizaremos para explicar c\u00f3mo se accede a las funcionalidades de un objeto creado en tiempo de ejecuci\u00f3n.<\/p>\n\n\n\n<p>En las \u00faltimas ediciones de Flash podemos crear objetos a partir de la clase <code>Camera<\/code> que, dise\u00f1ada para utilizarse sobre servidores web, tambi\u00e9n puede ser ejecutada en modo local para visualizar el contenido captado en tiempo real por una WebCam conectada a nuestra PC.<\/p>\n\n\n\n<p>Para poder obtener informaci\u00f3n gr\u00e1fica de la WebCam se debe utilizar un objeto de la clase <code>Video<\/code> como contenedor. Este puede crearse en tiempo de ejecuci\u00f3n, pero podemos hacerlo tambi\u00e9n manualmente. Para ello, se debe abrir la <em>Biblioteca<\/em>, hacer clic derecho sobre el \u00e1rea de elementos y seleccionar <em>Nuevo Video<\/em>. En sus propiedades se debe seleccionar la opci\u00f3n que le permite ser controlado por ActionScript y luego ubicar una instancia en el escenario, a la que nombraremos <code>_video<\/code>.<\/p>\n\n\n\n<p>Las siguientes l\u00edneas capturan los datos provenientes de la WebCam en dicho objeto, con una calidad y ancho de banda determinado:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: as3; title: ; notranslate\" title=\"\">\nvar webcam:Camera = Camera.get(); \/\/ Se inicia la captura\nwebcam.setQuality(8192,100);\n_video.attachVideo(webcam); \/\/ Ubicar el objeto en el contenedor de video\n<\/pre><\/div>\n\n\n<p>Podemos agregar al MovieClip resultante una interfaz, donde se apliquen efectos a la secuencia importada, adem\u00e1s de mostrar en cuadros de texto din\u00e1mico (o en cualquier componente que lo permita), propiedades intr\u00ednsecas del contenido recibido de la WebCam, como la calidad, el ancho de banda y la cantidad de cuadros por segundo. Se pudiera tambi\u00e9n, mediante propiedades y eventos de la clase <code>Camera<\/code>, declarar un sensor de movimientos. Con <code>Camera.setMotionLevel()<\/code> y <code>Camera.onActivity = function(bool){}<\/code>, se puede lograr muy buenos resultados para situaciones como aquellas donde se desea ejecutar una funci\u00f3n ante una cantidad de movimiento espec\u00edfica en la regi\u00f3n enfocada por la c\u00e1mara de video digital.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Para saber m\u00e1s&#8230;<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/es.wikipedia.org\/wiki\/Webcam\" target=\"_blank\" rel=\"noreferrer noopener\">\u00bfQu\u00e9 es una WebCam?<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/www.adobe.com\/es\/devnet\/flash\/\" target=\"_blank\" rel=\"noreferrer noopener\">Centro de desarrollo de Adobe Flash<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/www.ffiles.com\" target=\"_blank\" rel=\"noreferrer noopener\">Flash Files Library<\/a><\/li>\n<\/ul>\n\n\n\n<p>Escrito por ZorphDark [<a href=\"mailto:blackhat4all@gmail.com?subject=para ZorphDark\">blackhat4all@gmail.com<\/a>]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La gente de Macromedia (ahora Adobe), nos han puesto bastante sencillo lo que en otros lenguajes puede dificultarse<\/p>\n","protected":false},"author":2,"featured_media":289,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[101,107,38,41],"class_list":["post-288","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proyecto-blackhat","tag-actionscript","tag-adobe-flash","tag-proyecto-blackhat","tag-tips"],"_links":{"self":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=288"}],"version-history":[{"count":1,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/288\/revisions"}],"predecessor-version":[{"id":290,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/288\/revisions\/290"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/media\/289"}],"wp:attachment":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}