Package | flash.media |
Classe | public class CameraUI |
Héritage | CameraUI EventDispatcher Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
La méthode launch()
demande au périphérique d’ouvrir la caméra par défaut de l’application. L’image ou la vidéo capturée est disponible dans l’objet MediaEvent distribué pour l’événement complete. Etant donné que l’application de caméra par défaut peut enregistrer la vidéo ou l’image dans divers formats, il est possible que le moteur d’exécution d’AIR ne puisse pas charger et afficher l’objet multimédia renvoyé.
Sur certaines plates-formes, l’objet multimédia renvoyé par la caméra est accessible en tant que média promis basé sur un fichier. Sur d’autres, le média promis n’est pas basé sur un fichier, et les propriétés file
et relativePath
de l’objet MediaPromise sont définies sur null
. Evitez de recourir à ces propriétés dans le code utilisé sur plusieurs plates-formes.
Sur Android, l’application de caméra par défaut ne s’ouvre pas si la carte de stockage externe n’est pas disponible (notamment lorsque l’utilisateur a installé la carte comme périphérique de stockage de masse USB). En outre, l’application AIR qui lance la caméra perd le focus. Si le périphérique dispose de peu de ressources, le système d’exploitation peut fermer l’application AIR avant que la capture de l’objet multimédia ne soit terminée.
Sur certaines plates-formes, l’objet multimédia est automatiquement stocké dans la bibliothèque multimédia du périphérique. Sur les plates-formes sur lesquelles les images et les vidéos ne sont pas automatiquement stockées par l’application de caméra par défaut, vous pouvez utiliser la fonction addBitmapData()
du dossier Pellicule pour stocker l’objet multimédia.
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur les périphériques mobiles, mais ne l’est pas sur les systèmes d’exploitation de bureau ou sur les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété CameraUI.isSupported
. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.
Informations complémentaires
Propriété | Défini par | ||
---|---|---|---|
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
isSupported : Boolean [statique] [lecture seule]
Indique si la classe CameraUI est prise en charge sur le périphérique actuel. | CameraUI | ||
permissionStatus : String [statique] [lecture seule]
Déterminez si l’application a été autorisée à utiliser la caméra. | CameraUI |
Méthode | Défini par | ||
---|---|---|---|
CameraUI()
Crée un objet CameraUI. | CameraUI | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Lance l’application de caméra par défaut sur le périphérique. | CameraUI | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Demande l’autorisation d’accès à l’interface utilisateur de la caméra. | CameraUI | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. | EventDispatcher |
Evénement | Synthèse | Défini par | ||
---|---|---|---|---|
[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active. | EventDispatcher | |||
L’événement cancel est distribué lorsque l’utilisateur ferme l’IU de la caméra sans enregistrer d’image ou de vidéo. | CameraUI | |||
L’événement complete est distribué lorsque l’utilisateur capture une image figée ou capture une vidéo dans l’interface utilisateur de la caméra. | CameraUI | |||
[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive. | EventDispatcher | |||
L’événement error est distribué lorsqu’il s’avère impossible d’ouvrir la caméra par défaut. | CameraUI | |||
Distribué lorsque l’application demande l’autorisation d’accéder à l’interface utilisateur de la caméra. | CameraUI |
isSupported | propriété |
isSupported:Boolean
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
Indique si la classe CameraUI est prise en charge sur le périphérique actuel. Actuellement, cette fonction est uniquement prise en charge dans les applications AIR sur Android.
Implémentation
public static function get isSupported():Boolean
permissionStatus | propriété |
CameraUI | () | Constructeur |
public function CameraUI()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
Crée un objet CameraUI.
launch | () | méthode |
public function launch(requestedMediaType:String):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
Lance l’application de caméra par défaut sur le périphérique.
Cette classe permet de capturer soit des images fixes soit de la vidéo. La capture de vidéo utilise le profil de caméra "Low Quality" sur le périphérique.
Lors de l’appel de la méthode launch()
, l’application de caméra par défaut est invoquée sur le périphérique. L’application AIR perd le focus et attend que l’utilisateur capture une image fixe ou termine la capture de vidéo. Une fois que l’utilisateur capture l’objet multimédia de son choix, l’application AIR retrouve le focus et cet objet CameraUI distribue un événement complete
. Si l’utilisateur annule l’opération, cet objet CameraUI distribue un événement cancel
.
Remarque : il est possible que le système d’exploitation d’Android ferme l’application AIR lorsque cette dernière se trouve en arrière-plan et attend que l’utilisateur capture une image ou une vidéo. Le cas échéant, l’utilisateur doit redémarrer l’application. L’application AIR ne distribue pas d’événement multimédia pour la capture d’image précédente.
Vous pouvez accéder aux fichiers multimédias capturés à l’aide de la propriété data
de l’objet MediaEvent distribué pour l’événement complete
. Cette propriété est une occurrence de la classe MediaPromise, que vous pouvez charger dans votre application à l’aide de la méthode loadFilePromise()
de la classe Loader. Notez que la caméra du périphérique peut enregistrer les fichiers multimédias capturés dans divers formats. La vidéo est particulièrement problématique à cet égard. Il peut s’avérer impossible d’afficher l’objet multimédia capturé dans AIR.
Paramètres
requestedMediaType:String — Type d’objet multimédia à capturer. Les valeurs valides de ce paramètre sont définies dans la classe MediaType :
|
Evénements
complete: — Distribué lors de la capture d’un objet multimédia.
| |
cancel: — Distribué lorsque l’utilisateur quitte la caméra native sans capturer d’objet multimédia.
| |
error: — Distribué si l’application de caméra par défaut est déjà en cours d’utilisation.
| |
error: — Distribué si l’application AIR se trouve à l’arrière-plan lorsqu’elle appelle cette fonction.
|
Valeur émise
PermissionError — L’application ne dispose pas de l’autorisation nécessaire pour utiliser la caméra.
|
Eléments de l’API associés
requestPermission | () | méthode |
public function requestPermission():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 24.0 |
Demande l’autorisation d’accès à l’interface utilisateur de la caméra.
Evénements
PermissionStatus: — distribué lorsque l’autorisation demandée est accordée/refusée par l’utilisateur.
|
cancel | Evénement |
flash.events.Event
propriété Event.type =
flash.events.Event.CANCEL
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
L’événement cancel
est distribué lorsque l’utilisateur ferme l’IU de la caméra sans enregistrer d’image ou de vidéo.
Event.CANCEL
définit la valeur de la propriété type
d’un objet événement cancel
.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Référence à l’objet pour lequel l’opération est annulée. |
complete | Evénement |
flash.events.MediaEvent
propriété MediaEvent.type =
flash.events.MediaEvent.COMPLETE
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
L’événement complete
est distribué lorsque l’utilisateur capture une image figée ou capture une vidéo dans l’interface utilisateur de la caméra.
complete
.
Définit la valeur de la propriété type
d’un objet d’événement MediaEvent
. Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
data | Objet MediaPromise de l’occurrence multimédia disponible. |
error | Evénement |
flash.events.ErrorEvent
propriété ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
L’événement error
est distribué lorsqu’il s’avère impossible d’ouvrir la caméra par défaut.
type
d’un objet d’événement error
.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet qui subit l’échec de l’opération réseau. |
text | Texte à afficher en tant que message d’erreur. |
permissionStatus | Evénement |
flash.events.PermissionEvent
propriété PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 24.0 |
Distribué lorsque l’application demande l’autorisation d’accéder à l’interface utilisateur de la caméra. Vérifiez la valeur de la propriété status
pour savoir si l’autorisation a été accordée ou refusée.
Eléments de l’API associés
package { import flash.desktop.NativeApplication; import flash.display.Loader; import flash.display.MovieClip; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.ErrorEvent; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.MediaEvent; import flash.media.CameraUI; import flash.media.MediaPromise; import flash.media.MediaType; public class CameraUIStillImage extends MovieClip{ private var deviceCameraApp:CameraUI = new CameraUI(); private var imageLoader:Loader; public function CameraUIStillImage() { this.stage.align = StageAlign.TOP_LEFT; this.stage.scaleMode = StageScaleMode.NO_SCALE; if( CameraUI.isSupported ) { trace( "Initializing camera..." ); deviceCameraApp.addEventListener( MediaEvent.COMPLETE, imageCaptured ); deviceCameraApp.addEventListener( Event.CANCEL, captureCanceled ); deviceCameraApp.addEventListener( ErrorEvent.ERROR, cameraError ); deviceCameraApp.launch( MediaType.IMAGE ); } else { trace( "Camera interface is not supported."); } } private function imageCaptured( event:MediaEvent ):void { trace( "Media captured..." ); var imagePromise:MediaPromise = event.data; if( imagePromise.isAsync ) { trace( "Asynchronous media promise." ); imageLoader = new Loader(); imageLoader.contentLoaderInfo.addEventListener( Event.COMPLETE, asyncImageLoaded ); imageLoader.addEventListener( IOErrorEvent.IO_ERROR, cameraError ); imageLoader.loadFilePromise( imagePromise ); } else { trace( "Synchronous media promise." ); imageLoader.loadFilePromise( imagePromise ); showMedia( imageLoader ); } } private function captureCanceled( event:Event ):void { trace( "Media capture canceled." ); NativeApplication.nativeApplication.exit(); } private function asyncImageLoaded( event:Event ):void { trace( "Media loaded in memory." ); showMedia( imageLoader ); } private function showMedia( loader:Loader ):void { this.addChild( loader ); } private function cameraError( error:ErrorEvent ):void { trace( "Error:" + error.text ); NativeApplication.nativeApplication.exit(); } } }
Tue Jun 12 2018, 09:30 AM Z