ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.media 

CameraUI  - AS3

Paketflash.media
Klassepublic class CameraUI
VererbungCameraUI Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 2.5

Die CameraUI-Klasse ermöglicht Ihnen, ein Standbild oder Video mit der Standardkameraanwendung des Geräts zu erfassen.

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.

Beispiele anzeigen

Weitere Informationen



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : 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
Öffentliche Methoden
 MethodeDefiniert von
  
    CameraUI()
Erstellt ein CameraUI-Objekt.
CameraUI
 Inherited
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
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
    launch(requestedMediaType:String):void
Startet die standardmäßige Kameraanwendung des Geräts.
CameraUI
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
  
Fordert die Berechtigung zum Zugriff auf die Camera UI an.
CameraUI
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
  
    cancel
Das cancel-Ereignis wird abgesetzt, wenn der Benutzer die Camera UI schließt, ohne ein Bild oder Video aufzunehmen.CameraUI
  
    complete
Das complete-Ereignis wird abgesetzt, wenn der Benutzer ein Standbild oder Video in der Kameraanwendung aufnimmt.CameraUI
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
  
    error
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
Eigenschaftendetails
    

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 
permissionStatus:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 24.0

Bestimmen Sie, ob der Anwendung die Berechtigung zur Verwendung der Kamera erteilt wurde.



Implementierung
    public static function get permissionStatus():String

Verwandte API-Elemente

Konstruktordetails
    

CameraUI

()Konstruktor
public function CameraUI()

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 2.5

Erstellt ein CameraUI-Objekt.

Methodendetails

    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:
  • MediaType.IMAGE
  • MediaType.VIDEO


Ereignisse
complete:MediaEvent — Wird abgesetzt, wenn ein Medienobjekt erfasst wird.
 
cancel:Event — Wird abgesetzt, wenn der Benutzer die native Kameraanwendung beendet, ohne ein Medienobjekt zu erfassen.
 
error:ErrorEvent — Wird abgesetzt, wenn die standardmäßige Kameraanwendung bereits verwendet wird.
 
error:ErrorEvent — 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:PermissionEvent — wird abgesetzt, wenn die angeforderte Berechtigung vom Benutzer gewährt/abgelehnt wird.
Ereignisdetails
    

cancel

Ereignis
Ereignisobjekttyp: 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.

Die Event.CANCEL-Konstante definiert den Wert der type-Eigenschaft eines cancel-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetEin Verweis auf das Objekt, dessen Operation abgebrochen wurde.
    

complete

Ereignis  
Ereignisobjekttyp: 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.

Eine Konstante für das complete-MediaEvent.

Definiert den Wert der type-Eigenschaft eines MediaEvent-Ereignisobjekts. Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
dataDas MediaPromise-Objekt der verfügbaren Medieninstanz.
    

error

Ereignis  
Ereignisobjekttyp: 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.

Definiert den Wert der Eigenschaft type eines error-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Objekt, bei dem der Netzwerkvorgang fehlschlägt.
textDer als Fehlermeldung anzuzeigende Text.
    

permissionStatus

Ereignis  
Ereignisobjekttyp: 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

CameraUIExample.Still.1.as

Im folgenden Beispiel wird die CameraUI-Klasse verwendet, um die standardmäßige Kameraanwendung des Geräts zu öffnen. Wenn der Benutzer ein Foto aufnimmt, wird das Bild der Anzeigeliste hinzugefügt.
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();
          }
     }
}




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.