Paket | flash.media |
Klass | public class CameraUI |
Arv | CameraUI EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Metoden launch()
begär att enheten öppnar standardkameraprogrammet. Den hämtade bilden eller videofilmen är tillgänglig i det MediaEvent-objekt som skickas för complete-händelsen. Eftersom standardkameraprogrammet kan spara bilden eller videofilmen i flera olika format finns det ingen garanti för att det returnerade medieobjektet kan läsas in och visas av AIR-miljön.
På vissa plattformar är medieobjektet som returneras av kameran tillgängligt som ett filbaserat medielöfte. På andra plattformar är medielöftet inte filbaserat och egenskaperna file
och relativePath
i MediaPromise-objektet är null
. Använd inte dessa egenskaper i kod som används för flera plattformar.
På Android öppnas inte standardkameraprogrammet om det externa minneskortet inte är tillgängligt (t.ex. om användaren har monterat kortet som en USB-masslagringsenhet). Dessutom förlorar det AIR-program som startar kameran fokus. Om enheten råkar ut för resursbrist kan AIR-programmet avslutas av operativsystemet innan mediehämtningen är klar.
På vissa plattformar lagras medieobjektet automatiskt i enhetens mediekatalog. På plattformar där bilder och video inte lagras automatiskt med standardkameraprogrammet, kan du använda CameraRoll-funktionen addBitmapData()
för att lagra medieobjektet.
Stöd för AIR-profiler: Den här funktionen stöds på mobilenheter, men inte på operativsystem för datorer eller enheter med AIR for TV. Du kan testa stödet vid körning med egenskapen CameraUI.isSupported
. På sidan om stöd för AIR-profiler hittar du mer information om API-stöd för flera profiler.
Lär dig mer
Egenskap | Definieras med | ||
---|---|---|---|
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
isSupported : Boolean [statisk] [skrivskyddad]
Rapporterar om klassen CameraUI stöds på den aktuella enheten. | CameraUI | ||
permissionStatus : String [statisk] [skrivskyddad]
Avgör om programmet har beviljats behörighet att använda kameran. | CameraUI |
Metod | Definieras med | ||
---|---|---|---|
CameraUI()
Skapar ett CameraUI-objekt. | CameraUI | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Startar standardkameraprogrammet på enheten. | CameraUI | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Begär åtkomst till kameragränssnittet. | CameraUI | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
Händelse | Sammanfattning | Definieras med | ||
---|---|---|---|---|
[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt. | EventDispatcher | |||
cancel-händelsen skickas när användaren stänger kamerans gränssnitt utan att spara en bild eller video. | CameraUI | |||
complete-händelsen skickas när användaren hämtar en stillbild eller videofilm i kamerans gränssnitt. | CameraUI | |||
[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt. | EventDispatcher | |||
error-händelsen skickas när det inte går att öppna standardkameran. | CameraUI | |||
Skickas när programmet begär åtkomst till kameragränssnittet. | CameraUI |
isSupported | egenskap |
permissionStatus | egenskap |
CameraUI | () | Konstruktor |
public function CameraUI()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Skapar ett CameraUI-objekt.
launch | () | metod |
public function launch(requestedMediaType:String):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Startar standardkameraprogrammet på enheten.
Du kan spela in antingen stillbilder eller videofilmer med den här klassen. Videoinspelning använder videokameraprofilen för låg kvalitet på enheten.
När metoden launch()
anropas, anropas enhetens standardkameraprogram. AIR-programmet förlorar fokus och väntar på att användaren ska ta en bild eller avsluta videoinspelningen. När användaren har spelat in önskat medium får AIR-programmet fokus igen och det här CameraUI-objektet skickar en complete
-händelse. Om användare avbryter åtgärden skickar det här CameraUI-objektet en cancel
-händelse i stället.
Obs! Det kan hända att Android-operativsystemet avslutar AIR-programmet när detta är i bakgrunden och väntar på att användaren ska ta en bild eller spela in video. Om detta händer måste användaren starta om programmet. AIR-programmet skickar ingen media-händelse för den tidigare bildtagningen.
Du kommer åt den hämtade mediefilen med egenskapen data
för det MediaEvent-objekt som skickades för complete
-händelsen. Den här egenskapen är en instans av MediaPromise-klassen, som du kan läsa in till programmet med metoden loadFilePromise()
i klassen Loader. Tänk på att enhetens kamera kan spara hämtade mediefiler i ett flertal olika format. Videofilmer är särskilt besvärliga i det här avseendet. Det kanske inte går att visa den hämtade mediefilen med AIR.
Parametrar
requestedMediaType:String — Den typ av medieobjekt som ska hämtas. Giltiga värden för den här parametern definieras i klassen MediaType:
|
Händelser
complete: — Skickas när ett medieobjekt hämtas.
| |
cancel: — Skickas när användaren avslutar kameran utan att hämta något medieobjekt.
| |
error: — Skickas om standardkameraprogrammet redan används.
| |
error: — Skickas om AIR-programmet är i bakgrunden när den här funktionen anropas.
|
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
requestPermission | () | metod |
public function requestPermission():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 24.0 |
Begär åtkomst till kameragränssnittet.
Händelser
PermissionStatus: — skickas när begärd behörighet beviljas/nekas av användaren.
|
cancel | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.CANCEL
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
cancel
-händelsen skickas när användaren stänger kamerans gränssnitt utan att spara en bild eller video.
Event.CANCEL
-konstanten definierar värdet på type
-egenskapen i ett cancel
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | En referens till det objekt vars åtgärd avbryts. |
complete | Händelse |
flash.events.MediaEvent
egenskap MediaEvent.type =
flash.events.MediaEvent.COMPLETE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
complete
-händelsen skickas när användaren hämtar en stillbild eller videofilm i kamerans gränssnitt.
complete
.
Definierar värdet på type
-egenskapen i ett MediaEvent
-händelseobjekt. Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
data | MediaPromise-objektet för den tillgängliga medieinstansen. |
error | Händelse |
flash.events.ErrorEvent
egenskap ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
error
-händelsen skickas när det inte går att öppna standardkameran.
error
-händelseobjekts type
-egenskap.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | Objektet är med om ett nätverksfel. |
text | Text som visas som felmeddelande. |
permissionStatus | Händelse |
flash.events.PermissionEvent
egenskap PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 24.0 |
Skickas när programmet begär åtkomst till kameragränssnittet. Kontrollera värdet för egenskapen status
för att kontrollera om behörighet beviljades eller nekades
Relaterade API-element
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, 01:40 PM Z