Paket | flash.media |
Klasse | public class CameraUI |
Vererbung | CameraUI EventDispatcher Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Die launch()
-Methode fordert an, dass das Gerät die standardmäßige Kameraanwendung öffnet. Das erfasste Bild oder Video ist im MediaEvent-Objekt verfügbar, das für das complete-Ereignis abgesetzt wird. Da die standardmäßige Kameraanwendung das Bild oder Video in verschiedenen Formaten speichern kann, gibt es keine Garantie dafür, dass das zurückgegebene Medienobjekt von der AIR-Laufzeitumgebung geladen und angezeigt werden kann.
Bei einigen Plattformen ist das Medienobjekt, das von der Kamera zurückgegeben wird, als dateibasierte Medienzusage zugänglich. Bei anderen Plattformen ist die Medienzusage nicht dateibasiert und die file
- und relativePath
-Eigenschaften des MediaPromise-Objekts sind null
. Verwenden Sie diese Eigenschaften deshalb nicht in Code, der auf mehreren Plattformen verwendet wird.
Unter Android wird die standardmäßige Kameraanwendung nicht geöffnet, wenn die externe Speicherkarte nicht verfügbar ist (zum Beispiel, wenn der Benutzer die Karte als USB-Massenspeichergerät gemountet hat). Außerdem verliert die AIR-Anwendung, die die Kamera aufgerufen hat, den Fokus. Wenn auf dem Gerät nur noch wenige Ressourcen verfügbar sin, kann die AIR-Anwendung vom Betriebssystem beendet werden, bevor die Medienerfassung abgeschlossen ist.
Bei einigen Plattformen wird das Medienobjekt automatisch in der Medienbibliothek des Geräts gespeichert. Bei Plattformen, auf denen Bilder und Video nicht automatisch von der Kamerastandardanwendung gespeichert werden, können Sie die CameraRoll-addBitmapData()
-Funktion verwenden, um das Medienobjekt zu speichern.
Unterstützung von AIR-Profilen: Diese Funktion wird auf mobilen Geräten unterstützt, nicht jedoch auf Desktopbetriebssystemen oder Geräten mit AIR für TV. Mit der CameraUI.isSupported
-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum API-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.
Weitere Informationen
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
isSupported : Boolean [statisch] [schreibgeschützt]
Gibt an, ob die CameraUI-Klasse auf dem aktuellen Gerät unterstützt wird. | CameraUI | ||
permissionStatus : String [statisch] [schreibgeschützt]
Bestimmen Sie, ob der Anwendung die Berechtigung zur Verwendung der Kamera erteilt wurde. | CameraUI |
Methode | Definiert von | ||
---|---|---|---|
CameraUI()
Erstellt ein CameraUI-Objekt. | CameraUI | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | EventDispatcher | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Startet die standardmäßige Kameraanwendung des Geräts. | CameraUI | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Fordert die Berechtigung zum Zugriff auf die Camera UI an. | CameraUI | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
Ereignis | Übersicht | Definiert von | ||
---|---|---|---|---|
[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | |||
Das cancel-Ereignis wird abgesetzt, wenn der Benutzer die Camera UI schließt, ohne ein Bild oder Video aufzunehmen. | CameraUI | |||
Das complete-Ereignis wird abgesetzt, wenn der Benutzer ein Standbild oder Video in der Kameraanwendung aufnimmt. | CameraUI | |||
[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird. | EventDispatcher | |||
Das error-Ereignis wird abgesetzt, wenn die standardmäßige Kameraanwendung nicht geöffnet werden kann. | CameraUI | |||
Wird abgesetzt, wenn die Anwendung die Berechtigung zum Zugriff auf die Camera UI anfordert. | CameraUI |
isSupported | Eigenschaft |
isSupported:Boolean
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Gibt an, ob die CameraUI-Klasse auf dem aktuellen Gerät unterstützt wird. Zurzeit wird diese Funktion nur in AIR-Anwendungen unter Android unterstützt.
Implementierung
public static function get isSupported():Boolean
permissionStatus | Eigenschaft |
CameraUI | () | Konstruktor |
public function CameraUI()
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Erstellt ein CameraUI-Objekt.
launch | () | Methode |
public function launch(requestedMediaType:String):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Startet die standardmäßige Kameraanwendung des Geräts.
Mit dieser Klassen können Sie Standbilder oder Videos erfassen. Die Videoerfassung erfolgt mit dem Camcorderprofil „Niedrige Qualität“ des Geräts.
Beim Aufrufen der launch()
-Methode wird die standardmäßige Kameraanwendung des Geräts aufgerufen. Die AIR-Anwendung verliert den Fokus und wartet darauf, dass der Benutzer ein Standbild aufnimmt oder das Erfassen des Videos beendet. Nachdem der Benutzer das gewünschte Medium erfasst hat, erhält die AIR-Anwendung wieder den Fokus und dieses CameraUI-Objekt setzt ein complete
-Ereignis ab. Wenn der Benutzer den Vorgang abbricht, setzt dieses CameraUI-Objekt stattdessen ein cancel
-Ereignis ab.
Hinweis: Es ist möglich, dass die AIR-Anwendung vom Android-Betriebssystem beendet wird, während sie im Hintergrund darauf wartet, dass der Benutzer ein Bild oder ein Video aufnimmt. In diesem Fall muss der Benutzer die Anwendung neu starten. Die AIR-Anwendung setzt kein Medienereignis für die vorherige Bilderfassung ab.
Sie können mit der data
-Eigenschaft des MediaEvent-Objekts, das für das complete
-Ereignis abgesetzt wurde, auf die erfasste Mediendatei zugreifen. Diese Eigenschaft ist eine Instanz der MediaPromise-Klasse, die Sie mithilfe der loadFilePromise()
-Methode der Loader-Klasse in eine Anwendung laden können. Beachten Sie, dass die Gerätekamera erfasste Medien in verschiedenen Formaten speichern kann. Video ist in diese Hinsicht besonders problematisch. Es ist unter Umständen nicht möglich, die erfassten Medien in AIR anzuzeigen.
Parameter
requestedMediaType:String — Der zu erfassende Medienobjekttyp. Die gültigen Werte für diesen Parameter werden in der MediaType-Klasse definiert:
|
Ereignisse
complete: — Wird abgesetzt, wenn ein Medienobjekt erfasst wird.
| |
cancel: — Wird abgesetzt, wenn der Benutzer die native Kameraanwendung beendet, ohne ein Medienobjekt zu erfassen.
| |
error: — Wird abgesetzt, wenn die standardmäßige Kameraanwendung bereits verwendet wird.
| |
error: — Wird abgesetzt, wenn sich die AIR-Anwendung beim Aufrufen dieser Funktion im Hintergrund befindet.
|
Auslöser
PermissionError — Die Anwendung verfügt nicht über die Berechtigung zur Verwendung der Kamera.
|
Verwandte API-Elemente
requestPermission | () | Methode |
public function requestPermission():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 24.0 |
Fordert die Berechtigung zum Zugriff auf die Camera UI an.
Ereignisse
PermissionStatus: — wird abgesetzt, wenn die angeforderte Berechtigung vom Benutzer gewährt/abgelehnt wird.
|
cancel | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.CANCEL
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Das cancel
-Ereignis wird abgesetzt, wenn der Benutzer die Camera UI schließt, ohne ein Bild oder Video aufzunehmen.
Event.CANCEL
-Konstante definiert den Wert der type
-Eigenschaft eines cancel
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Ein Verweis auf das Objekt, dessen Operation abgebrochen wurde. |
complete | Ereignis |
flash.events.MediaEvent
Eigenschaft MediaEvent.type =
flash.events.MediaEvent.COMPLETE
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Das complete
-Ereignis wird abgesetzt, wenn der Benutzer ein Standbild oder Video in der Kameraanwendung aufnimmt.
complete
-MediaEvent.
Definiert den Wert der type
-Eigenschaft eines MediaEvent
-Ereignisobjekts. Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
data | Das MediaPromise-Objekt der verfügbaren Medieninstanz. |
error | Ereignis |
flash.events.ErrorEvent
Eigenschaft ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Das error
-Ereignis wird abgesetzt, wenn die standardmäßige Kameraanwendung nicht geöffnet werden kann.
type
eines error
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Objekt, bei dem der Netzwerkvorgang fehlschlägt. |
text | Der als Fehlermeldung anzuzeigende Text. |
permissionStatus | Ereignis |
flash.events.PermissionEvent
Eigenschaft PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 24.0 |
Wird abgesetzt, wenn die Anwendung die Berechtigung zum Zugriff auf die Camera UI anfordert. Überprüfen Sie den Wert der Eigenschaft Status
, um festzustellen, ob die Berechtigung gewährt oder verweigert wurde.
Verwandte API-Elemente
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, 10:04 AM Z