Paquete | flash.media |
Clase | public final class Camera |
Herencia | Camera EventDispatcher Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Una instancia de Camera captura vídeo en relación de aspecto horizontal. En los dispositivos que pueden cambiar la orientación de la pantalla, como teléfonos móviles, un objeto Video adjunto a la cámara sólo se mostrará vertical en una orientación con relación de aspecto horizontal. Por consiguiente, las aplicaciones para móvil deben utilizar una orientación horizontal al mostrar vídeo y no debe rotar automáticamente.
En iOS, el vídeo desde el que se refleja la cámara delantera. En Android, no.
En dispositivos móviles con una cámara con autofoco, el autofoco se activa de forma automática. Si la cámara no admite autofoco continuo (y son muchas las cámaras de dispositivos móviles que no lo admiten), la cámara enfoca cuando el objeto Camera se asocia a un flujo de vídeo y siempre que se llame al método setMode()
. En equipos de escritorio, el comportamiento del autofoco depende del controlador de la cámara y de los ajustes.
En una aplicación de AIR en Android e iOS, la cámara no captura de vídeo si una aplicación de AIR no es la aplicación activa en primer plano. Además, las conexiones de transmisión se pueden perder cuando la aplicación está en segundo plano. En iOS, el vídeo de la cámara no se puede mostrar cuando una aplicación utiliza el modo de procesamiento de GPU. El vídeo de la cámara se puede transmitir a un servidor.
Compatibilidad con perfil de AIR: esta característica no se admite en dispositivos de AIR para TV. Consulte Compatibilidad con perfil de AIR para obtener información sobre la compatibilidad de la API con varios perfiles. Hay que tener en cuenta que en dispositivos de AIR para TV, Camera.isSupported
es true
pero Camera.getCamera()
siempre devuelve null
. El acceso a la cámara no se admite en los navegadores móviles.
Para más información sobre la captura de audio, consulte la clase Microphone.
Importante: el tiempo de ejecución muestra un cuadro de diálogo Privacidad que permite al usuario decidir si permite o deniega el acceso a la cámara. Asegúrese de que el tamaño de la ventana de la aplicación sea de al menos 215 x 138 píxeles; éste es el tamaño mínimo que exige Flash para mostrar el cuadro de diálogo.
Para crear o hacer referencia a un objeto Camera, utilice el método getCamera()
.
Más información
Michael Chaize: Android, AIR, y la cámara
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
activityLevel : Number [solo lectura]
La cantidad de movimiento detectado por la cámara. | Camera | ||
bandwidth : int [solo lectura]
La cantidad máxima de ancho de banda, expresada en bytes, que puede utilizar la salida de vídeo actual. | Camera | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
currentFPS : Number [solo lectura]
Velocidad a la que está capturando datos la cámara, expresada en fotogramas por segundo. | Camera | ||
fps : Number [solo lectura]
La velocidad máxima a la que la cámara puede capturar los datos, expresada en fotogramas por segundo. | Camera | ||
height : int [solo lectura]
Altura de captura actual, expresada en píxeles. | Camera | ||
index : int [solo lectura]
Un índice basado en cero que especifica la posición de la cámara en el conjunto Camera.names, en el que se muestran todas las cámaras disponibles. | Camera | ||
isSupported : Boolean [estática] [solo lectura]
La propiedad isSupported se establece en true si la clase Camera se admite en la plataforma actual; en caso contrario, se establece en false. | Camera | ||
keyFrameInterval : int [solo lectura]
El número de fotogramas de vídeo que se transmiten completamente (denominados fotogramas clave) en vez de interpolarlos con el algoritmo de compresión de vídeo. | Camera | ||
loopback : Boolean [solo lectura]
Indica si una vista local de lo que está capturando la cámara se comprime y se descomprime (true) del mismo modo que con la transmisión en vivo mediante Flash Media Server, o si no se comprime (false). | Camera | ||
motionLevel : int [solo lectura]
La cantidad de movimiento necesario para distribuir el evento activity. | Camera | ||
motionTimeout : int [solo lectura]
Número de milisegundos que transcurren entre el momento en que la cámara deja de detectar movimiento y la invocación del evento activity. | Camera | ||
muted : Boolean [solo lectura]
Valor booleano que indica si el usuario ha denegado el acceso a la cámara (true) o lo ha permitido (false) en el cuadro de diálogo Privacidad de Flash Player. | Camera | ||
name : String [solo lectura]
El nombre de la cámara actual, tal y como lo ha devuelto el hardware de la cámara. | Camera | ||
names : Array [estática] [solo lectura]
Un conjunto de cadenas que incluye los nombres de todas las cámaras disponibles. | Camera | ||
permissionStatus : String [estática] [solo lectura]
Determine si se le ha concedido a la aplicación el permiso para usar la cámara. | Camera | ||
position : String [solo lectura]
Especifica el lado del dispositivo en el que se sitúa la cámara. | Camera | ||
quality : int [solo lectura]
El nivel necesario de la calidad de imagen, tal y como lo determina la cantidad de compresión aplicada a cada fotograma de vídeo. | Camera | ||
width : int [solo lectura]
Anchura de captura actual, expresada en píxeles. | Camera |
Método | Definido por | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
Archiva un conjunto de bytes de una zona rectangular de datos de píxeles. Escribe un entero sin signo (un valor de píxeles de 32 bits no multiplicado) para cada píxel del conjunto de bytes. | Camera | ||
Rellena un vector de una zona rectangular de datos de píxeles. | Camera | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Copia el último fotograma en un mapa de bits. | Camera | ||
[estática]
Devuelve una referencia a un objeto Camera para capturar vídeo. | Camera | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Solicite el permiso de cámara para la aplicación. | Camera | ||
Especifica qué fotogramas de vídeo se transmiten completamente (los denominados fotogramas clave) en vez de interpolarlos con el algoritmo de compresión de vídeo. | Camera | ||
Especifica si se utilizará un flujo de vídeo comprimido para una visualización local de la cámara. | Camera | ||
Establece el modo de captura de cámara con el modo nativo que mejor se adapte a los requisitos especificados. | Camera | ||
Especifica la cantidad de movimiento necesaria para distribuir el evento activity. | Camera | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Establece la cantidad máxima de ancho de banda por segundo o la calidad de imagen requerida para la salida de vídeo actual. | Camera | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher |
Evento | Resumen | Definido por | ||
---|---|---|---|---|
[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | EventDispatcher | |||
Se distribuye cuando una cámara inicia o finaliza una sesión. | Camera | |||
[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | |||
Se distribuye cuando la aplicación pide permiso para utilizar la cámara en el dispositivo. | Camera | |||
Se distribuye cuando una cámara informa sobre su estado. | Camera | |||
Se distribuye después de haberse procesado un nuevo fotograma en el tiempo de ejecución y está disponible para su copia. | Camera |
activityLevel | propiedad |
activityLevel:Number
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
La cantidad de movimiento detectado por la cámara. El rango de valores válidos es de 0 (no se detecta movimiento) a 100 (se detecta gran cantidad de movimiento). El valor de esta propiedad puede ayudarle a determinar si es preciso pasar un valor de configuración para el método setMotionLevel()
.
Si la cámara está disponible pero aún no se utiliza porque no se ha llamado al método Video.attachCamera()
, esta propiedad se establece en -1.
Si está reproduciendo sin interrupción vídeo local sin comprimir, esta propiedad sólo se establece si ha asignado una función al controlador de eventos. En caso contrario, no está definida.
Implementación
public function get activityLevel():Number
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
bandwidth | propiedad |
bandwidth:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
La cantidad máxima de ancho de banda, expresada en bytes, que puede utilizar la salida de vídeo actual. El valor 0 indica que la salida puede utilizar el ancho de banda que sea necesario para mantener la calidad de fotogramas deseada.
Para definir esta propiedad, utilice el método setQuality()
.
Implementación
public function get bandwidth():int
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
currentFPS | propiedad |
currentFPS:Number
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Velocidad a la que está capturando datos la cámara, expresada en fotogramas por segundo. Esta propiedad no puede establecerse; sin embargo, puede utilizar el método setMode()
para establecer una propiedad relacionada (fps
) que especifique la velocidad de fotogramas máxima con la que desea que la cámara capture datos.
Implementación
public function get currentFPS():Number
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
fps | propiedad |
fps:Number
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
La velocidad máxima a la que la cámara puede capturar los datos, expresada en fotogramas por segundo. La velocidad máxima posible depende de las capacidades de la cámara; es posible que no se llegue a alcanzar esta velocidad de fotogramas.
- Para establecer el valor que desee para esta propiedad, utilice el método
setMode()
. - Para determinar la velocidad a la que la cámara está capturando datos, use la propiedad
currentFPS
.
Implementación
public function get fps():Number
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
height | propiedad |
height:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Altura de captura actual, expresada en píxeles. Para establecer el valor de esta propiedad, utilice el método setMode()
.
Implementación
public function get height():int
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
index | propiedad |
index:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Un índice basado en cero que especifica la posición de la cámara en el conjunto Camera.names
, en el que se muestran todas las cámaras disponibles.
Implementación
public function get index():int
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
isSupported | propiedad |
isSupported:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10.1, AIR 2 |
La propiedad isSupported
se establece en true
si la clase Camera se admite en la plataforma actual; en caso contrario, se establece en false
.
Implementación
public static function get isSupported():Boolean
keyFrameInterval | propiedad |
keyFrameInterval:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
El número de fotogramas de vídeo que se transmiten completamente (denominados fotogramas clave) en vez de interpolarlos con el algoritmo de compresión de vídeo. El valor predeterminado es 15, lo que significa que cada decimoquinto fotograma es un fotograma clave. El valor de 1 indica que cada fotograma es un fotograma clave. Los valores permitidos van del 1 al 300.
Implementación
public function get keyFrameInterval():int
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
loopback | propiedad |
loopback:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Indica si una vista local de lo que está capturando la cámara se comprime y se descomprime (true
) del mismo modo que con la transmisión en vivo mediante Flash Media Server, o si no se comprime (false
). El valor predeterminado es false
.
Aunque una transmisión comprimida es útil para pruebas, como cuando se obtienen vistas previas de la configuración de la calidad de vídeo, supone un importante coste de procesamiento. La vista local se comprime, se edita para la transmisión como si fuese para una conexión en vivo y luego se descomprime para la vista local.
Para definir este valor, utilice Camera.setLoopback()
. Para establecer el grado de compresión empleado cuando la propiedad es true, utilice Camera.setQuality()
.
Implementación
public function get loopback():Boolean
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
motionLevel | propiedad |
motionLevel:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
La cantidad de movimiento necesario para distribuir el evento activity
. Admite valores comprendidos entre 0 y 100. El valor predeterminado es 50.
Puede mostrarse vídeo con independencia del valor de la propiedad motionLevel
. Para más información, consulte setMotionLevel()
.
Implementación
public function get motionLevel():int
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
motionTimeout | propiedad |
motionTimeout:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Número de milisegundos que transcurren entre el momento en que la cámara deja de detectar movimiento y la invocación del evento activity
. El valor predeterminado es 2000 (2 segundos).
Para definir este valor, utilice setMotionLevel()
.
Implementación
public function get motionTimeout():int
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
muted | propiedad |
muted:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Valor booleano que indica si el usuario ha denegado el acceso a la cámara (true
) o lo ha permitido (false
) en el cuadro de diálogo Privacidad de Flash Player. Cuando cambia el valor, se distribuye el evento status
.
Implementación
public function get muted():Boolean
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
name | propiedad |
name:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
El nombre de la cámara actual, tal y como lo ha devuelto el hardware de la cámara.
Implementación
public function get name():String
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
names | propiedad |
names:Array
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Un conjunto de cadenas que incluye los nombres de todas las cámaras disponibles. El acceso a este conjunto no mostrará el cuadro de diálogo Privacidad de Flash Player. Este conjunto proporciona el índice basado en cero de cada cámara y el número de cámaras del sistema (por medio de names.length
).
Llamar a la propiedad names
exige un examen exhaustivo del hardware. En la mayoría de los casos, podrá utilizar simplemente la cámara predeterminada.
Implementación
public static function get names():Array
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
permissionStatus | propiedad |
position | propiedad |
position:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.0 |
Especifica el lado del dispositivo en el que se sitúa la cámara.
Utilice la propiedad position
para determinar si una cámara en un dispositivo móvil se encuentra en la parte frontal o en la posterior del dispositivo. La siguiente función comprueba cada cámara disponible hasta que encuentra una cámara con la posición deseada. Si no hay ninguna cámara en la posición deseada, se devuelve la cámara predeterminada.
function getCamera( position:String ):Camera { var camera:Camera; var cameraCount:uint = Camera.names.length; for ( var i:uint = 0; i < cameraCount; ++i ) { camera = Camera.getCamera( String(i) ); if ( camera.position == position ) return camera; } return Camera.getCamera();
En dispositivos móviles, la posición de la cámara normalmente es CameraPosition.FRONT
o CameraPosition.BACK
. Si no se puede determinar la posición de la cámara, se envía como CameraPosition.UNKNOWN
. En plataformas de escritorio, la posición es siempre CameraPosition.UNKNOWN
.
Las constantes de los valores válidos de esta propiedad se definen en la clase CameraPosition
Implementación
public function get position():String
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
quality | propiedad |
quality:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
El nivel necesario de la calidad de imagen, tal y como lo determina la cantidad de compresión aplicada a cada fotograma de vídeo. Los valores de calidad admitidos van del 1 (la calidad más baja, máxima compresión) al 100 (la calidad más alta, sin compresión). El valor predeterminado es 0, que hace que la calidad de imagen varíe si es preciso para no superar el ancho de banda disponible.
Para definir esta propiedad, utilice el método setQuality()
.
Implementación
public function get quality():int
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
width | propiedad |
width:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Anchura de captura actual, expresada en píxeles. Para establecer el valor que desee para esta propiedad, utilice el método setMode()
.
Implementación
public function get width():int
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
copyToByteArray | () | método |
public function copyToByteArray(rect:Rectangle, destination:ByteArray):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11.4, AIR 3.4 |
Rellena un conjunto de bytes de una zona rectangular de datos de píxeles
Escribe un entero sin signo (un valor de píxeles de 32 bits no multiplicado) para cada píxel de la matriz de bytes. El tamaño del conjunto se ajusta a la cantidad necesaria de bytes para albergar todos los píxeles.
Parámetros
rect:Rectangle — Área rectangular del objeto BitmapData actual.
| |
destination:ByteArray — Un conjunto ByteArray que representa los píxeles del objeto Rectangle en cuestión.
|
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
| |
TypeError — Rect tiene el valor “null”.
| |
TypeError — El destino es null
|
Elementos de API relacionados
copyToVector | () | método |
public function copyToVector(rect:Rectangle, destination:Vector.<uint>):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11.4, AIR 3.4 |
Rellena un vector de una zona rectangular de datos de píxeles.
Escribe un entero sin signo (un valor de píxeles de 32 bits no multiplicado) para cada píxel del vector. El tamaño del vector se ajusta a la cantidad necesaria de entradas para albergar todos los píxeles.
Parámetros
rect:Rectangle — Área rectangular del objeto BitmapData actual.
| |
destination:Vector.<uint> — Un vector.<uint> que representa los píxeles del objeto Rectangle en cuestión.
|
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
| |
TypeError — Rect tiene el valor “null”.
| |
TypeError — El destino es null
|
Elementos de API relacionados
drawToBitmapData | () | método |
public function drawToBitmapData(destination:BitmapData):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11.4, AIR 3.4 |
Copia el último fotograma en un mapa de bits.
Este método copia el contenido del último fotograma en una instancia de BitmapData.
Parámetros
destination:BitmapData — Una instancia de objeto BitmapData para contener el último fotograma.
|
Emite
ArgumentError — kInvalidBitmapDataError si destination es demasiado pequeño
|
Elementos de API relacionados
getCamera | () | método |
public static function getCamera(name:String = null):Camera
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Devuelve una referencia a un objeto Camera para capturar vídeo. Para comenzar a capturar vídeo, debe asociar el objeto Camera a un objeto Video (consulte Video.attachCamera()
). Para transmitir vídeo a Flash Media Server, llame a NetStream.attachCamera()
para asociar el objeto Camera a un objeto NetStream.
Varias llamadas al método getCamera()
hacen referencia al mismo controlador de la cámara. Por tanto, si el código incluye elementos como firstCam:Camera = getCamera()
y secondCam:Camera = getCamera()
, tanto firstCam
como secondCam
hacen referencia a la misma cámara, que es la predeterminada del usuario.
En dispositivos móviles con cámara frontal y trasera, sólo se puede capturar vídeo desde una cámara a la vez.
En general, no debe pasar ningún valor para el parámetro name
; simplemente utilice getCamera()
para devolver una referencia a la cámara predeterminada. A través del panel de configuración Cámara (descrito posteriormente en esta sección), el usuario puede especificar la cámara predeterminada que debe utilizar.
No es posible utilizar ActionScript para definir la configuración del permiso la denegación de acceso a la cámara, pero sí se puede mostrar el cuadro de diálogo de configuración de la cámara de Adobe Flash Player Settings donde el usuario puede definir los permisos. Si un archivo SWF que utilice el método attachCamera()
intenta asociar la cámara devuelta por el método getCamera()
a un objeto Video o NetStream, Flash Player muestra un cuadro de diálogo donde el usuario puede permitir o denegar el acceso a la cámara. (Asegúrese de que el tamaño de la ventana de la aplicación sea de al menos 215 x 138 píxeles; éste es el tamaño mínimo que exige Flash Player para mostrar el cuadro de diálogo.) Cuando el usuario responde a este cuadro de diálogo de configuración de la cámara, Flash Player devuelve un objeto de información en el evento status
que indica la respuesta del usuario: Camera.muted
indica que el usuario ha denegado el acceso a una cámara; Camera.Unmuted
indica que el usuario ha permitido el acceso a una cámara. Para determinar si el usuario ha denegado o autorizado el acceso a la cámara sin procesar el evento status
, utilice la propiedad muted
.
En Flash Player, el usuario puede especificar una configuración de privacidad permanente para un dominio concreto haciendo clic con el botón derecho del ratón (Windows y Linux) o haciendo clic con la tecla Control presionada (Macintosh) mientras se reproduce un archivo SWF, seleccionando Configuración, abriendo el cuadro de diálogo Privacidad y seleccionando Recordar. Si el usuario selecciona Recordar, Flash Player ya no solicitará al usuario que permita o deniegue el acceso a la cámara de archivos SWF de este dominio.
Nota: el método attachCamera()
no invoca el cuadro de diálogo para permitir o denegar el acceso a la cámara si el usuario ha denegado el acceso seleccionando Recordar en el cuadro de diálogo de configuración de Flash Player. En ese caso, puede solicitar al usuario que cambie los parámetros de acceso y denegación mediante el panel Privacidad de Flash Player con Security.showSettings(SecurityPanel.PRIVACY)
.
Si getCamera()
devuelve el valor null
, indicará que la cámara está siendo utilizada por otra aplicación o que no hay cámaras instaladas en el sistema. Para comprobar si hay cámaras instaladas, utilice la propiedad names.length
. Para ver el panel de configuración de la cámara de Flash Player, en el que el usuario puede elegir la cámara a la que hará referencia getCamera()
, utilice Security.showSettings(SecurityPanel.CAMERA)
.
La exploración del hardware en busca de cámaras lleva tiempo. Cuando el motor de ejecución encuentra al menos una cámara, el hardware no vuelve a explorarse durante toda la vida de la instancia del reproductor. No obstante, si el motor de ejecución no encuentra ninguna cámara, la buscará cada vez que se llame a getCamera
. Esto resulta útil si hay una cámara presente pero desactivada; si el archivo SWF ofrece un botón Intentar de nuevo que llama a getCamera
, Flash Player podrá localizar la cámara sin que el usuario tenga que reiniciar el archivo SWF.
Parámetros
name:String (default = null ) — Especifica qué cámara obtener, tal como se determina en el conjunto devuelto por la propiedad names . Para la mayoría de las aplicaciones, la cámara predeterminada se obtiene omitiendo este parámetro. Para especificar un valor para este parámetro, utilice la representación de cadena de la posición de índice basada en cero dentro del conjunto Camera.names. Por ejemplo, para especificar la tercera cámara del conjunto, utilice Camera.getCamera("2") .
|
Camera — Si no se especifica el parámetro name , este método devuelve una referencia a la cámara predeterminada o, si está siendo utilizada por otra aplicación, a la primera cámara disponible. (Si hay varias cámaras instaladas, el usuario puede especificar la cámara predeterminada en el panel Parámetros de la cámara de Flash Player.) Si no hay cámaras disponibles o instaladas, el método devuelve el valor null .
|
Eventos
status: — Se distribuye cuando una cámara informa sobre su estado. Antes de acceder a una cámara, Flash Player muestra un cuadro de diálogo Privacidad para permitir o denegar a los usuarios el acceso a su cámara. Si el valor de la propiedad code es "Camera.muted" , el usuario ha impedido el acceso del archivo SWF a la cámara del usuario. Si el valor de la propiedad code es "Camera.Unmuted" , el usuario ha permitido el acceso del archivo SWF a la cámara del usuario.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
El método Camera.getCamera()
devuelve una referencia al objeto Camera o devuelve null si no se detecta ninguna cámara disponible. La declaración if comprueba si existe alguna cámara y si el usuario ha permitido acceso a la cámara. Si el usuario ha denegado el acceso, la propiedad muted
se establece como true
.
Normalmente, cuando se invoca el método attachCamera()
, aparece un cuadro de diálogo que solicita al usuario el permiso o la denegación del acceso de Flash Player a la cámara. No obstante, si el usuario ha denegado el acceso y ha seleccionado la opción Recordar
, el cuadro de diálogo no se muestra. Para garantizar que el usuario tiene la opción de permitir el acceso a la cámara, el campo de texto myTextField
solicita al usuario que haga clic en el campo de texto para invocar el cuadro de diálogo de configuración de Flash Player.
El método clickHandler()
llama al método Security.showSettings()
, que muestra el panel Privacidad
del cuadro de diálogo Configuración. Si el usuario permite el acceso, se distribuye el evento StatusEvent.STATUS
y el valor de la propiedad code
del evento se establece como Camera.Unmuted
. (La propiedad mute
del objeto Camera también se define como false
.)
El método statusHandler()
, añadido para detectar los cambios de estado de la configuración del usuario, invoca el método connectCamera()
si el usuario ha permitido el acceso. El método connectCamera()
crea una instancia de un objeto de vídeo con la anchura y la altura del flujo capturado. Para visualizar el vídeo capturado de la cámara, la referencia al flujo de vídeo se asocia al objeto de vídeo y éste se añade a la lista de visualización.
También se puede iniciar un objeto Timer. Cada segundo, se distribuye el evento timer del objeto Timer y se invoca el método timerHandler()
. Se muestra el método timerHandler()
y se actualiza el número de propiedades del objeto Camera
Nota: en este ejemplo, la única propiedad que cambia es currentFPS
.
package { import flash.display.Sprite; import flash.media.Camera; import flash.media.Video; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.StatusEvent; import flash.events.MouseEvent; import flash.system.SecurityPanel; import flash.system.Security; public class Camera_getCameraExample extends Sprite { private var myTextField:TextField; private var cam:Camera; private var t:Timer = new Timer(1000); public function Camera_getCameraExample() { myTextField = new TextField(); myTextField.x = 10; myTextField.y = 10; myTextField.background = true; myTextField.selectable = false; myTextField.autoSize = TextFieldAutoSize.LEFT; if (Camera.isSupported) { cam = Camera.getCamera(); if (!cam) { myTextField.text = "No camera is installed."; } else if (cam.muted) { myTextField.text = "To enable the use of the camera,\n" + "please click on this text field.\n" + "When the Flash Player Settings dialog appears,\n" + "make sure to select the Allow radio button\n" + "to grant access to your camera."; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); }else { myTextField.text = "Connecting"; connectCamera(); } addChild(myTextField); t.addEventListener(TimerEvent.TIMER, timerHandler); }else { myTextField.text = "The Camera class is not supported on this device."; } } private function clickHandler(e:MouseEvent):void { Security.showSettings(SecurityPanel.PRIVACY); cam.addEventListener(StatusEvent.STATUS, statusHandler); myTextField.removeEventListener(MouseEvent.CLICK, clickHandler); } private function statusHandler(event:StatusEvent):void { if (event.code == "Camera.Unmuted") { connectCamera(); cam.removeEventListener(StatusEvent.STATUS, statusHandler); } } private function connectCamera():void { var vid:Video = new Video(cam.width, cam.height); vid.x = 10; vid.y = 10; vid.attachCamera(cam); addChild(vid); t.start(); } private function timerHandler(event:TimerEvent):void { myTextField.y = cam.height + 20; myTextField.text = ""; myTextField.appendText("bandwidth: " + cam.bandwidth + "\n"); myTextField.appendText("currentFPS: " + Math.round(cam.currentFPS) + "\n"); myTextField.appendText("fps: " + cam.fps + "\n"); myTextField.appendText("keyFrameInterval: " + cam.keyFrameInterval + "\n"); } } }
requestPermission | () | método |
public function requestPermission():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 24.0 |
Solicite el permiso de cámara para la aplicación.
Eventos
PermissionStatus: — se distribuye cuando el usuario concede o deniega el permiso solicitado.
|
setKeyFrameInterval | () | método |
public function setKeyFrameInterval(keyFrameInterval:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Especifica qué fotogramas de vídeo se transmiten completamente (denominados fotogramas clave) en vez de interpolarlos con el algoritmo de compresión de vídeo. Este método sólo es aplicable si está transmitiendo vídeo mediante Flash Media Server.
El algoritmo de compresión de vídeo de Flash comprime vídeo transmitiendo solamente lo que ha cambiado desde el último fotograma; estos fragmentos reciben el nombre de fotogramas interpolados. Los fotogramas de un vídeo se pueden interpolar según el contenido del fotograma anterior. Sin embargo, un fotograma clave es un fotograma de vídeo completo; no está interpolado a partir de fotogramas anteriores.
Para determinar el modo de establecer un valor para el parámetro keyFrameInterval
, tenga en cuenta el uso del ancho de banda y la accesibilidad de la reproducción de vídeo. Por ejemplo, al especificar un valor más alto para keyFrameInterval
(mediante el envío menos frecuente de fotogramas clave) se reduce el uso del ancho de banda. Sin embargo, esto puede aumentar la cantidad de tiempo necesario para colocar la cabeza lectora en un punto determinado del vídeo; puede que sea necesario interpolar los fotogramas de vídeo más antiguos para que el vídeo pueda seguir reproduciéndose.
Por el contrario, al especificar un valor más bajo para keyFrameInterval
(mediante el envío más frecuente de fotogramas clave) se aumenta el uso del ancho de banda, ya que se transmiten fotogramas de vídeo completos con mayor frecuencia, pero puede reducir la cantidad de tiempo necesaria para buscar un fotograma de vídeo concreto en la grabación.
Parámetros
keyFrameInterval:int — Un valor que especifica qué fotogramas de vídeo se transmiten completamente (como fotogramas clave) en vez de interpolarlos con el algoritmo de compresión de vídeo. Un valor de 1 significa que todos los fotogramas son fotogramas clave, un valor de 3 significa que cada tercer fotograma es un fotograma clave y así sucesivamente. Los valores válidos están comprendidos entre 1 y 48.
|
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
setLoopback | () | método |
public function setLoopback(compress:Boolean = false):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Especifica si se utilizará un flujo de vídeo comprimido para una visualización local de la cámara. Este método sólo es aplicable si está transmitiendo vídeo mediante Flash Media Server; al establecer compress
en true
, es posible ver de forma más precisa cómo aparecerá el vídeo cuando se vea en tiempo real.
Aunque un flujo comprimido resulta útil para realizar comprobaciones (como previsualizar la configuración de calidad del vídeo), supone un coste de procesamiento significativo, ya que la visualización local no sólo está comprimida: está comprimida, editada para su transmisión como si se produjese una conexión en vivo y, posteriormente, descomprimida para la visualización local.
Para establecer el grado de compresión empleado al definir compress
como true
, utilice Camera.setQuality()
.
Parámetros
compress:Boolean (default = false ) — Especifica si se utilizará un flujo de vídeo comprimido (true ) o uno no comprimido (false ) para una visualización local de lo que recibe la cámara.
|
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
setMode | () | método |
public function setMode(width:int, height:int, fps:Number, favorArea:Boolean = true):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Establece el modo de captura de cámara con el modo nativo que mejor se adapte a los requisitos especificados. Si la cámara no dispone de ningún modo nativo que coincida con todos los parámetros que ha transferido, el tiempo de ejecución seleccionará el modo de captura que mejor sintetice el modo solicitado. Esta manipulación puede implicar el recorte de la imagen y la eliminación de fotogramas.
De manera predeterminada, el tiempo de ejecución elimina los fotogramas que sean necesarios para mantener el tamaño de la imagen. Para minimizar el número de fotogramas eliminados, aunque ello implique la reducción del tamaño de la imagen, pase el valor false
para el parámetro favorArea
.
Al elegir un modo nativo, el tiempo de ejecución intenta mantener la proporción solicitada siempre que sea posible. Por ejemplo, si emite el comando myCam.setMode(400, 400, 30)
y los valores máximos de anchura y altura disponibles en la cámara son 320 y 288, el tiempo de ejecución establece tanto la anchura como al altura en 288; al establecer estas propiedades con el mismo valor, el tiempo de ejecución mantiene la proporción 1:1 solicitada.
Para determinar los valores asignados a estas propiedades después de que el tiempo de ejecución seleccione el modo más próximo a los valores que ha solicitado, utilice las propiedades width
, height
y fps
.
Si utiliza Flash Media Server, puede también capturar fotogramas únicos o crear fotografía a intervalos. Para más información, consulte NetStream.attachCamera()
.
Parámetros
width:int — La anchura de captura requerida, expresada en píxeles. El valor predeterminado es 160.
| |
height:int — La altura de captura requerida, expresada en píxeles. El valor predeterminado es 120.
| |
fps:Number — Velocidad solicitada a la que la cámara debería capturar los datos, expresada en fotogramas por segundo. El valor predeterminado es 15.
| |
favorArea:Boolean (default = true ) — Especifica cómo manipular la anchura, altura y velocidad de reproducción de fotogramas si la cámara no tiene un modo nativo que cumpla los requisitos especificados. El valor predeterminado es true , lo que significa que se favorece el mantenimiento del tamaño de captura; al utilizar este parámetro se selecciona el modo más próximo a los valores de width y height , aunque afecte negativamente al rendimiento debido a la reducción en la velocidad de reproducción de fotogramas. Para maximizar la velocidad de reproducción de fotogramas a costa de la altura y anchura de la cámara, pase false para el parámetro favorArea .
|
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
El escenario se ajusta para no cambiar de tamaño. El método Camera.getCamera()
devuelve una referencia al objeto Camera o devuelve null si no se detecta ninguna cámara disponible. Si se detecta una cámara, se llama al método connectCamera()
. El método connectCamera()
crea una instancia de un objeto de vídeo. Para visualizar el vídeo capturado de la cámara, la referencia al flujo de vídeo se asocia al objeto de vídeo y éste se añade a la lista de visualización. También se define un detector de eventos para un evento MouseEvent.CLICK
. Cuando el usuario hace clic en el escenario, se invoca el método clickHandler()
. El método comprueba la anchura del vídeo capturado y define la anchura, la altura y la velocidad necesaria de fotogramas por segundo del modo de captura de la cámara. Para que esta configuración surta efecto, es preciso eliminar el vídeo y volver a crearlo. La anchura y la altura del vídeo también se deben definir en los parámetros de altura y anchura del objeto.
package { import flash.display.Sprite; import flash.media.Camera; import flash.media.Video; import flash.events.MouseEvent; import flash.display.StageScaleMode; public class Camera_setModeExample extends Sprite { private var cam:Camera; private var vid:Video; public function Camera_setModeExample() { stage.scaleMode = StageScaleMode.NO_SCALE; cam = Camera.getCamera(); if (!cam) { trace("No camera is installed."); }else { connectCamera(); } } private function connectCamera():void { vid = new Video(); vid.width = cam.width; vid.height = cam.height; vid.attachCamera(cam); addChild(vid); stage.addEventListener(MouseEvent.CLICK, clickHandler); } private function clickHandler(e:MouseEvent):void { switch (cam.width) { case 160: cam.setMode(320, 240, 10); break; case 320: cam.setMode(640, 480, 5); break; default: cam.setMode(160, 120, 15); break; } removeChild(vid); connectCamera(); } } }
setMotionLevel | () | método |
public function setMotionLevel(motionLevel:int, timeout:int = 2000):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Especifica la cantidad de movimiento necesaria para distribuir el evento activity
. Opcionalmente, establece el número de milisegundos que deben transcurrir sin que exista actividad para que el tiempo de ejecución considere que el movimiento se ha detenido y distribuya el evento.
Nota: puede mostrarse vídeo con independencia del valor del parámetro motionLevel
. Este parámetro sólo determina cuándo y en qué circunstancias debe distribuirse el evento (no determina si realmente se está capturando o mostrando vídeo).
Para evitar que la cámara detecte movimiento, transmita el valor 100 para el parámetro motionLevel
; el evento activity
nunca se distribuirá. (Tal vez utilice este valor solamente para realizar pruebas; por ejemplo, para desactivar temporalmente cualquier controlador que, en condiciones normales, se desencadenaría al distribuir el evento).
Para determinar la cantidad de movimiento que está detectando actualmente la cámara, utilice la propiedad activityLevel
. Los valores de sensibilidad al movimiento se corresponden directamente con los valores de actividad. La ausencia total de movimiento tiene un valor de actividad 0. El movimiento constante total tiene un valor de actividad 100. El valor de actividad es inferior al valor de sensibilidad de movimiento si no se está moviendo; al moverse, los valores de actividad suelen ser mayores que el valor de sensibilidad de movimiento.
Este método tiene una finalidad similar a la del método Microphone.setSilenceLevel()
; ambos se utilizan para especificar cuándo debe distribuirse el evento activity
. No obstante, estos métodos tienen efectos muy distintos en la publicación de flujos:
Microphone.setSilenceLevel()
está diseñado para optimizar el ancho de banda. Cuando se considera que un flujo de audio está en silencio, no se envían datos de audio. Por el contrario, se envía un único mensaje que indica que el silencio ha comenzado.Camera.setMotionLevel()
está diseñado para detectar movimiento y no afecta al uso del ancho de banda. Aunque un flujo de vídeo no detecte movimiento, el vídeo continúa enviándose.
Parámetros
motionLevel:int — Especifica la cantidad de movimiento necesaria para distribuir el evento activity . Admite valores comprendidos entre 0 y 100. El valor predeterminado es 50.
| |
timeout:int (default = 2000 ) — Especifica el número de milisegundos que deben transcurrir sin actividad antes de que el tiempo de ejecución considere que la actividad se ha detenido y distribuya el evento activity . El valor predeterminado es 2000 milisegundos (2 segundos).
|
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
El método Camera.getCamera()
devuelve una referencia al objeto Camera o devuelve null si no se detecta ninguna cámara disponible. La declaración if comprueba si hay alguna cámara disponible e invoca el método connectCamera()
si la encuentra. El método connectCamera()
crea una instancia de un objeto de vídeo con la anchura y la altura del flujo capturado. Para visualizar el vídeo capturado de la cámara, la referencia al flujo de vídeo se asocia al objeto de vídeo y éste se añade a la lista de visualización. (Normalmente, cuando se invoca el método attachCamera()
, aparece un cuadro de diálogo que solicita al usuario el permiso o la denegación del acceso de Flash Player a la cámara. No obstante, si el usuario ha denegado el acceso y ha seleccionado la opción Recordar
, el cuadro de diálogo no se muestra. Para garantizar que el usuario tenga la opción de permitir el acceso a la cámara, utilice el método system.Security.showSettings()
para invocar el cuadro de diálogo de configuración de Flash Player.)
El método setMotionLevel()
define en cinco el nivel de actividad (cantidad de movimiento), antes de invocar el evento inactivity, para conseguir el mínimo movimiento. El tiempo que transcurre entre el momento en que la cámara deja de detecta movimiento y la invocación del evento activity se establece en 1 segundo (1000 milisegundos). Tras 1 segundo sin actividad, o si el nivel de actividad alcanza el valor cinco, se distribuye el evento ActivityEvent.ACTIVITY
y se invoca el método activityHandler()
. Si el evento se ha activado por el nivel de actividad, la propiedad activating
se establece en true
y se inicia un objeto Timer. Cada segundo, se distribuye un evento timer de un objeto Timer y se invoca el método timerHandler()
, que muestra el nivel de actividad actual. (Aunque un nivel de cinco o más desencadena el evento timer, el nivel de actividad actual mostrado puede ser inferior.)
package { import flash.display.Sprite; import flash.media.Camera; import flash.media.Video; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.ActivityEvent; public class Camera_setMotionLevelExample extends Sprite { private var myTextField:TextField; private var cam:Camera; private var t:Timer = new Timer(1000); public function Camera_setMotionLevelExample() { myTextField = new TextField(); myTextField.background = true; myTextField.selectable = false; myTextField.autoSize = TextFieldAutoSize.LEFT; cam = Camera.getCamera(); if (!cam) { myTextField.text = "No camera is installed."; }else { myTextField.text = "Waiting to connect."; connectCamera(); } addChild(myTextField); t.addEventListener(TimerEvent.TIMER, timerHandler); } private function connectCamera():void { var vid:Video = new Video(cam.width, cam.height); vid.x = 10; vid.y = 10; vid.attachCamera(cam); addChild(vid); cam.setMotionLevel(5, 1000); cam.addEventListener(ActivityEvent.ACTIVITY, activityHandler); } private function activityHandler(e:ActivityEvent):void { if (e.activating == true) { t.start(); } else { myTextField.text = "Everything is quiet."; t.stop(); } } private function timerHandler(event:TimerEvent):void { myTextField.x = 10; myTextField.y = cam.height + 20; myTextField.text = "There is some activity. Level: " + cam.activityLevel; } } }
setQuality | () | método |
public function setQuality(bandwidth:int, quality:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Establece la cantidad máxima de ancho de banda por segundo o la calidad de imagen requerida para la salida de vídeo actual. Este método sólo es aplicable con carácter general si está transmitiendo vídeo mediante Flash Media Server.
Utilice este método para especificar qué elemento de la salida de vídeo es más importante para su aplicación: el uso del ancho de banda o la calidad de imagen.
- Para indicar que el uso del ancho de banda tiene prioridad, pase un valor para
bandwidth
y 0 paraquality
. El tiempo de ejecución transmite vídeo con la máxima calidad posible dentro del ancho de banda especificado. Si es preciso, el tiempo de ejecución reduce la calidad de imagen para evitar superar el ancho de banda especificado. En general, a mayor movimiento, menor calidad. - Para indicar que la calidad tiene prioridad, pase 0 para
bandwidth
y un valor numérico paraquality
. El tiempo de ejecución utiliza el ancho de banda que sea necesario para mantener la calidad especificada. Si es preciso, el tiempo de ejecución reduce la velocidad de fotogramas para mantener la calidad de imagen. En general, a mayor movimiento, mayor uso del ancho de banda. - Para especificar que el uso del ancho de banda y la calidad tienen idéntica importancia, pase valores numéricos para ambos parámetros. El tiempo de ejecución transmite vídeo con la calidad especificada sin superar el ancho de banda indicado. Si es preciso, el tiempo de ejecución reduce la velocidad de fotogramas para mantener la calidad de imagen sin superar el ancho de banda especificado.
Parámetros
bandwidth:int — Especifica la cantidad máxima de ancho de banda, expresada en bytes por segundo, que puede utilizar la salida de vídeo actual. Para especificar que el vídeo pueda utilizar todo el ancho de banda necesario para mantener el valor de quality , transfiera 0 para bandwidth . El valor predeterminado es 16384.
| |
quality:int — Entero que especifica el nivel necesario de calidad de imagen, tal y como lo determina la cantidad de compresión aplicada a cada fotograma de vídeo. Los valores admitidos van del 1 (la calidad más baja, máxima compresión) al 100 (la calidad más alta, sin compresión). Para especificar que la calidad de vídeo puede variar según las necesidades para evitar superar el ancho de banda, pase 0 para quality .
|
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
activity | Evento |
flash.events.ActivityEvent
propiedad ActivityEvent.type =
flash.events.ActivityEvent.ACTIVITY
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Se distribuye cuando una cámara inicia o finaliza una sesión. Llame a Camera.setMotionLevel()
para especificar la cantidad de movimiento necesario para activar un evento activity
con un valor activating
de true
, o el tiempo sin actividad que debe transcurrir antes de activar un evento activity
con un valor activating
de false
.
ActivityEvent.ACTIVITY
define el valor de la propiedad type
de un objeto de evento activity
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
activating | true si el dispositivo se está activando o false si se está desactivando. |
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto que inicia o finaliza una sesión, por ejemplo, un objeto Camera o Microphone. |
permissionStatus | Evento |
flash.events.PermissionEvent
propiedad PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 24.0 |
Se distribuye cuando la aplicación pide permiso para utilizar la cámara en el dispositivo. Compruebe el valor del estado
de la propiedad para determinar si el permiso se ha concedido o denegado.
Elementos de API relacionados
status | Evento |
flash.events.StatusEvent
propiedad StatusEvent.type =
flash.events.StatusEvent.STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9, AIR (unsupported) |
Se distribuye cuando una cámara informa sobre su estado. Antes de acceder a una cámara, el tiempo de ejecución muestra un cuadro de diálogo Privacidad para permitir o denegar a los usuarios el acceso a su cámara. Si el valor de la propiedad code
es "Camera.muted"
, el usuario ha impedido el acceso del archivo SWF a la cámara del usuario. Si el valor de la propiedad code
es "Camera.Unmuted"
, el usuario ha permitido el acceso del archivo SWF a la cámara del usuario.
Nota: este evento no se distribuye en la plataforma AIR. Sólo se utiliza en Flash Player.
Define el valor de la propiedadtype
de un objeto de evento status
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
code | Descripción del estado del objeto. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
level | La categoría del mensaje, por ejemplo, "status" , "warning" o "error" . |
target | El objeto que informa sobre su estado. |
Elementos de API relacionados
videoFrame | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.VIDEO_FRAME
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11.4, AIR 3.4 |
Se distribuye después de haberse procesado un nuevo fotograma en el tiempo de ejecución y está disponible para su copia.
La constanteEvent.VIDEO_FRAME
define el valor de la propiedad type
de un objeto de evento videoFrame
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
target | El objeto Camera que inició este evento. |
Elementos de API relacionados
activity
se distribuye al principio y al final (si procede) de la sesión, y se captura con el método activityHandler()
, que imprime información sobre el evento.
Nota: debe tener una cámara conectada al ordenador para que este ejemplo funcione correctamente.
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.*; import flash.media.Camera; import flash.media.Video; public class CameraExample extends Sprite { private var video:Video; public function CameraExample() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var camera:Camera = Camera.getCamera(); if (camera != null) { camera.addEventListener(ActivityEvent.ACTIVITY, activityHandler); video = new Video(camera.width * 2, camera.height * 2); video.attachCamera(camera); addChild(video); } else { trace("You need a camera."); } } private function activityHandler(event:ActivityEvent):void { trace("activityHandler: " + event); } } }
Tue Jun 12 2018, 02:12 PM Z