Pakket | flash.media |
Klasse | public class CameraUI |
Overerving | CameraUI EventDispatcher Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
Bij de methode launch()
wordt vereist dat de standaardcameratoepassing door het apparaat wordt geopend. De gemaakte foto of video is beschikbaar in het MediaEvent-object dat voor de complete-gebeurtenis wordt verzonden. Aangezien de foto of video met verschillende indelingen kan worden opgeslagen door de standaardcameratoepassing, kan het voorkomen dat het geretourneerde mediaobject niet kan worden geladen en weergegeven door de AIR-runtime.
Op sommige platformen is het mediaobject dat door de camera wordt geretourneerd, toegankelijk als een mediapromisebestand. Op andere platformen is de mediapromise geen bestand en zijn de eigenschappen file
en relativePath
van het MediaPromise-object ingesteld op de waarde null
. Gebruik deze eigenschappen niet in code die wordt toegepast op meerdere platformen.
Op Android-systemen kan de standaardcameratoepassing niet worden geopend als de externe opslagkaart niet beschikbaar is(bijvoorbeeld als de gebruiker de kaart heeft geplaatst als een USB-kaart voor massaopslag). Verder geldt dat de AIR-toepassing die de camera start de focus verliest. Als de accu van het apparaat bijna leeg is, kan de AIR-toepassing worden afgesloten door het besturingssysteem voordat de media volledig kan worden opgenomen.
Op sommige platformen wordt het mediaobject automatisch opgeslagen in de mediabibliotheek van het apparaat. Op platformen waar afbeeldingen en videobeelden niet automatisch worden opgeslagen door de standaardcameratoepassing, kunt u het mediaobject opslaan met de functie CameraRoll addBitmapData()
.
AIR-profielondersteuning: deze functie wordt ondersteund op mobiele apparaten, maar niet op desktopbesturingssystemen en ook niet op AIR for TV-apparaten. Met de eigenschap Ursubil
kunt u testen of deze functie wordt ondersteund tijdens runtime. Zie AIR-profielondersteuning voor meer informatie over API-ondersteuning voor meerdere profielen.
Meer informatie
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
isSupported : Boolean [statisch] [alleen-lezen]
Meldt of de CameraUI-klasse wordt ondersteund op het huidige apparaat. | CameraUI | ||
permissionStatus : String [statisch] [alleen-lezen]
Hiermee bepaalt u of toestemming is verleend aan de toepassing om de camera te gebruiken. | CameraUI |
Methode | Gedefinieerd door | ||
---|---|---|---|
CameraUI()
Maakt een CameraUI-object. | CameraUI | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt. | EventDispatcher | ||
Verzendt een gebeurtenis naar de gebeurtenisstroom. | EventDispatcher | ||
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis. | EventDispatcher | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Start de standaardcameratoepassing op het apparaat. | CameraUI | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert een listener uit het object EventDispatcher. | EventDispatcher | ||
Hiermee wordt toestemming gevraagd voor de camera-UI. | CameraUI | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object | ||
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis. | EventDispatcher |
Gebeurtenis | Overzicht | Gedefinieerd door | ||
---|---|---|---|---|
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de besturingssysteemfocus krijgt en actief wordt. | EventDispatcher | |||
De cancel-gebeurtenis wordt verzonden wanneer de gebruiker de interface van de camera afsluit zonder een foto of video op te slaan. | CameraUI | |||
De complete-gebeurtenis wordt verzonden wanneer de gebruiker een foto of video maakt met de interface van de camera. | CameraUI | |||
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de systeemfocus verliest en inactief wordt. | EventDispatcher | |||
De error-gebeurtenis wordt verzonden wanneer de standaardcamera niet kan worden geopend. | CameraUI | |||
Wordt verzonden wanneer de toepassing toestemming vraagt tot toegang tot camera-UI. | CameraUI |
isSupported | eigenschap |
permissionStatus | eigenschap |
CameraUI | () | Constructor |
public function CameraUI()
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
Maakt een CameraUI-object.
launch | () | methode |
public function launch(requestedMediaType:String):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
Start de standaardcameratoepassing op het apparaat.
U kunt ofwel foto's maken, of video opnemen met deze klasse. Bij het opnemen van video wordt het camcorderprofiel 'Lage kwaliteit' van het apparaat gebruikt.
Nadat de methode launch()
is aangeroepen, wordt de standaardcameratoepassing op het apparaat geactiveerd. De AIR-toepassing verliest de focus en wacht totdat de gebruiker een foto maakt of een video-opname afsluit. Wanneer de gewenste media is vastgelegd door de gebruiker, krijgt de AIR-toepassing weer de focus en verzendt het CameraUI-object een complete
-gebeurtenis. Als de bewerking door de gebruiker wordt geannuleerd, verzendt het CameraUI-object een cancel
-gebeurtenis.
Opmerking: soms wordt de AIR-toepassing afgesloten door het Android-besturingssysteem terwijl de toepassing op de achtergrond wacht totdat de gebruiker een foto of video maakt. In dit geval moet de gebruiker de toepassing opnieuw starten. De AIR-toepassing verzendt geen mediagebeurtenis voor de opname van de vorige foto.
U hebt toegang tot het opgenomen mediabestand via de eigenschap data
van het MediaEvent-object dat wordt verzonden voor de gebeurtenis complete
. Deze eigenschap is een instantie van de MediaPromise-klasse, die u in uw toepassing kunt laden via de methode loadFilePromise()
van de Loader-klasse. Merk op dat de camera van het apparaat de opgenomen media in een aantal verschillende indelingen kan opslaan. In dit verband zijn met name videobestanden problematisch. Het is misschien niet mogelijk om de opgenomen media weer te geven in AIR.
Parameters
requestedMediaType:String — Het type mediaobject dat moet worden opgenomen. De geldige waarden voor deze parameter zijn gedefinieerd in de MediaType-klasse:
|
Gebeurtenissen
complete: — Verzonden als een mediaobject wordt opgenomen.
| |
cancel: — Verzonden als de gebruiker de native camera afsluit zonder een mediaobject op te nemen.
| |
error: — Verzonden als de standaardcameratoepassing al in gebruik is.
| |
error: — Verzonden als de AIR-toepassing op de achtergrond wordt uitgevoerd wanneer deze functie wordt aangeroepen.
|
Gegenereerde uitzondering
PermissionError — De toepassing heeft geen toestemming om de camera te gebruiken.
|
Verwante API-elementen
requestPermission | () | methode |
public function requestPermission():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 24.0 |
Hiermee wordt toestemming gevraagd voor de camera-UI.
Gebeurtenissen
PermissionStatus: — wordt verzonden wanneer de aangevraagde toestemming door de gebruiker wordt verleend/geweigerd.
|
cancel | Gebeurtenis |
flash.events.Event
eigenschap Event.type =
flash.events.Event.CANCEL
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
De cancel
-gebeurtenis wordt verzonden wanneer de gebruiker de interface van de camera afsluit zonder een foto of video op te slaan.
Event.CANCEL
definieert de waarde van de eigenschap type
van een cancel
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Een verwijzing naar het object waarop de handeling wordt geannuleerd. |
complete | Gebeurtenis |
flash.events.MediaEvent
eigenschap MediaEvent.type =
flash.events.MediaEvent.COMPLETE
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
De complete
-gebeurtenis wordt verzonden wanneer de gebruiker een foto of video maakt met de interface van de camera.
complete
.
Definieert de waarde van de eigenschap type
van een MediaEvent
-gebeurtenisobject. Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
data | Het MediaPromise-object van de beschikbare media-instantie. |
error | Gebeurtenis |
flash.events.ErrorEvent
eigenschap ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
De error
-gebeurtenis wordt verzonden wanneer de standaardcamera niet kan worden geopend.
type
van een gebeurtenisobject error
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het object ondervindt een fout in een netwerkbewerking. |
text | Tekst die moet worden weergegeven als foutbericht. |
permissionStatus | Gebeurtenis |
flash.events.PermissionEvent
eigenschap PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 24.0 |
Wordt verzonden wanneer de toepassing toestemming vraagt tot toegang tot camera-UI. Controleer de waarde van de eigenschap status
om te bepalen of de toestemming is verleend of geweigerd
Verwante API-elementen
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(); } } }
Wed Jun 13 2018, 11:42 AM Z